我想让用户在MainWindow
显示之前登录。
显示第一个窗口,工作正常,并且在关闭所有其他WindowName.ShowDialog()
呼叫后不起作用。
我的代码:在app.xaml中,我删除StartupUri
并替换为
Startup="Application_Startup"
看起来像这样(App.xaml.cs):
private void Application_Startup(object sender, StartupEventArgs e)
{
Window1 window1 = new Window1();
window1.ShowDialog();
MainWindow window2 = new MainWindow();
window2.ShowDialog();
}
我有两个完全不变的窗口(除了标题),第二个看起来一样:
<Window x:Class="Delete_Me.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Delete_Me"
mc:Ignorable="d"
Title="First window" Height="300" Width="300">
<Grid>
</Grid>
</Window>
后面的代码也保持不变。
问题如何从App.xaml.cs依次启动两个窗口?或有什么更好的方法呢?
我的方法是尝试换掉两个窗口,它们没有任何变化。
当然,我可以从LoginForm
构建器/OnLoaded
从中启动MainWindow
,但这似乎并不是解决问题的理想方法。
MainWindow
如果验证失败,我甚至不想启动。
有什么建议么?谢谢。
如果没有更多的窗口,则WPF应用程序退出。这意味着在创建第二个窗口之前,关闭第一个窗口后,您的应用程序将停止。
为了解决您的问题,您需要在关闭第一个窗口之前创建第二个窗口。只需将代码更改为
Window1 window1 = new Window1();
MainWindow window2 = new MainWindow();
window1.ShowDialog();
window2.ShowDialog();
要解决这个问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句