gpt4 book ai didi

c# - 在 Application_Startup 方法中创建的 WPF 窗口为空白

转载 作者:太空狗 更新时间:2023-10-29 20:10:26 25 4
gpt4 key购买 nike

我在一个项目中有一个 WPF 窗口,其中包含一个 XAML 文件和关联的 C# 代码隐藏文件。如果我将 App.xaml 中的“StartupUri=MainWindow.xaml”设置为该窗口,则当我启动我的应用程序时,该窗口将按预期打开。

但是,我希望我的应用程序能够获取命令行参数,然后决定它是否应该打开 GUI。因此,我在 App.xaml 文件中设置了“Startup=Application_Startup”,其定义如下所示。

    private void Application_Startup(object sender, StartupEventArgs e)
{
if (e.Args.Length > 1)
{
//do automated tasks
}
else
{
//open ui

MainWindow window = new MainWindow();
this.MainWindow = window;

window.Show();
}
}

然而,当我运行它时,显示的窗口完全是空白。

enter image description here

最佳答案

添加 window.InitializeComponent() 似乎可以解决问题:

            MainWindow window = new MainWindow();
Application.Current.MainWindow = window;
window.InitializeComponent();
window.Show();

我通常喜欢对某些事情为什么有效或无效进行一些解释。我对这种情况一无所知。我可以看到在线示例不包括 InitializeComponent,但我产生了与您完全相同的错误(没有检查 args 的事件)。

关于c# - 在 Application_Startup 方法中创建的 WPF 窗口为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438659/

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