我有这段小代码.
private void Application_Startup(object sender, StartupEventArgs e)
{
WndAbout ab = new WndAbout();
ab.Show();
}
Run Code Online (Sandbox Code Playgroud)
并且希望在应用程序启动时显示窗口或对话框,然后再加载其他模块.
但!当我关闭显示的窗口时,后面启动的主窗口也会关闭!
我究竟做错了什么?我试图制作Showdialog() - 同样的情况发生了.
您遇到的问题来自WPF管理关机的方式.
您可以通过... 更改关机行为
Application.Current.ShutdownMode
Run Code Online (Sandbox Code Playgroud)
...财产.将其更改为适当的值:
Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnLastWindowClose;
Run Code Online (Sandbox Code Playgroud)
这会有所帮助.
另一种方法是手动将MainWindow-property 设置为第二个窗口.
如果您只想制作启动画面,请使用自.net 3.51以来可用的启动画面选项.IT的优势在于它在应用程序加载序列中很早就加载了,比窗口早得多.
要做到这一点,在您的项目资源管理器打开图像的属性选项卡,并设置生成操作到闪屏
更新
在我的一个应用程序中,我有一个设计,在显示主窗口之前还必须显示模态对话框.这时我还不知道这个ShutdownMode属性.
我做的是我第一次开始Window对用户不可见的.这是第一个窗口,它还控制了app-livetime(WPF的默认行为).从这个窗口出来,我打开了所需的对话框(一个显示模态的窗口).如果此对话框已完成不成功,我终止了隐藏窗口并完全关闭了应用程序.如果对话结果正常,我创建了第一个MainWindow实例,用户可以使用.
| 归档时间: |
|
| 查看次数: |
2704 次 |
| 最近记录: |