gpt4 book ai didi

c# - WPF app.run 不工作?

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:56 25 4
gpt4 key购买 nike

我才刚刚开始学习 WPF,所以如果这个问题很简单,但我无法弄清楚到底发生了什么,请多多包涵。

我想要完成的是首先显示一个登录窗口,然后在成功验证后显示主窗口。我没有使用 Visual Studio 自动创建的默认 App.xaml,而是创建了一个自定义应用程序类。登录工作正常,但 app.Run(win) 不工作,它不显示我的 MainWindow 并且应用程序立即退出。我在这里缺少什么吗?我有一个具有几乎相同启动类的 winform 应用程序,并且它工作得很好。所以我不知道为什么这种方法在 WPF 中不起作用。

public class Startup
{
[STAThread()]
static void Main()
{
Application app = new Application();
WinLogin login = new WinLogin();
bool showLogin = true;
while (showLogin)
{
login.ShowDialog();
if (login.DialogResult.HasValue && login.DialogResult == true)
{
MainWindow win = new MainWindow();
app.Run(win);
if (!win.LogOff)
showLogin = false;
}
else
showLogin = false;
}
}
}

最佳答案

显示对话框后,尝试设置

app.MainWindow = win;

就在调用 Application.Run() 之前。我猜你的第一个对话框被自动设置为主窗口,从而在关闭后关闭应用程序。

此外,在创建应用程序之后直接移动 MainWindow 创建。

关于c# - WPF app.run 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4343003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com