我在项目中有一个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();
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当我运行它时,显示的窗口完全是空白的.

Dan*_*nez 10
添加window.InitializeComponent()似乎可以解决问题:
MainWindow window = new MainWindow();
Application.Current.MainWindow = window;
window.InitializeComponent();
window.Show();
Run Code Online (Sandbox Code Playgroud)
我通常喜欢对某些事情为什么或不起作用做一点解释.在这种情况下,我不知道.我可以看到在线示例不包含InitializeComponent,但我产生了与您相同的确切错误(没有检查args的事件).
| 归档时间: |
|
| 查看次数: |
5098 次 |
| 最近记录: |