繁体   English   中英

ShowDialog不显示WPF

[英]ShowDialog not showing WPF

Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;

var dialog = new Login();

dialog.ShowDialog();

var mainWindow = new MainWindow(dialog.success, DBInteraction.getPID(dialog.txtLoginUser.Text));

mainWindow.ShowDialog();

this.MainWindow = mainWindow;

if (mainWindow.ShowDialog() == true)
{

}

奇怪的是,如果我调试此窗口,则窗口实际上不会显示,它只会跳过那些showDialog点,并且根本不会显示它们。 我的登录名显示非常好。

如您所见,我已经在其他线程中就此主题this.MainWindow = mainWindow尝试了各种建议,并将ShutdownMode设置为显式。

完整通话:

/// <summary>
/// Interaktionslogik für "App.xaml"
/// </summary>
public partial class App : Application
{
    private void ApplicationStart(object sender, StartupEventArgs e)
    {

        Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
        var dialog = new Login();

        dialog.ShowDialog();

        var mainWindow = new MainWindow(dialog.success, DBInteraction.getPID(dialog.txtLoginUser.Text));

        mainWindow.ShowDialog();

        this.MainWindow = mainWindow;

        if (mainWindow.ShowDialog() == true)
        {

        }
    }
}

应用程式

<Application x:Class="Boosting.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         Startup="ApplicationStart"
         ShutdownMode="OnExplicitShutdown">
<Application.Resources>

</Application.Resources>
</Application>

如果您还没有这样做,这就是您需要做的:

  1. 从应用程序XAML文件中删除StartupUri

  2. 在应用程序XAML中设置启动处理程序:

  3. 在对话框show之后将Show()添加到MainWindow:

     private void ApplicationStartup(object sender, StartupEventArgs e) { Current.ShutdownMode = ShutdownMode.OnExplicitShutdown; var dialog = new Login(); dialog.ShowDialog(); var mainWindow = new MainWindow(); mainWindow.ShowDialog(); } 
  4. 最后一步。 WPF将第一个创建的窗口设置为应用程序中的MainWindow。 在您的Login.xaml.cs内显示,将MainWindow设置为null,以便优先创建下一个窗口。

      if (App.Current.MainWindow == this) { App.Current.MainWindow = null; } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM