我的项目中有一个 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();
}
}
然而,当我运行这个时,显示的窗口完全是空白的。
Adding window.InitializeComponent()
似乎可以解决这个问题:
MainWindow window = new MainWindow();
Application.Current.MainWindow = window;
window.InitializeComponent();
window.Show();
我通常喜欢对为什么某件事有效或无效的原因进行一些解释。我对这个案子没有任何线索。我可以看到在线示例不包括InitializeComponent,但我产生了与您完全相同的错误(未检查参数的事件)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)