从 App.xaml.cs 开始按顺序启动两个 windows WPF
Start two windows in sequence from App.xaml.cs WPF
我想让用户在 MainWindow
出现之前登录。
第一个 window 出现,工作正常,关闭所有其他 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();
}
我有两个完全没动过 windows(除了标题)第二个看起来一样:
<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 开始两个 windows?
或者更好的方法是什么?
我的做法
我试着换掉两个 windows,但没有任何改变。
当然我可以在构造函数中启动LoginForm
/ OnLoaded
从MainWindow
,但这似乎不是解决问题的好方法。
如果身份验证失败,我什至不想启动 MainWindow
。
有什么建议吗?谢谢。
如果不再存在 window,WPF 应用程序将退出。这意味着在创建第二个 window 之前关闭第一个 window 后,您的应用程序将停止。
要解决您的问题,您需要在关闭第一个之前创建第二个 window。只需将您的代码更改为
Window1 window1 = new Window1();
MainWindow window2 = new MainWindow();
window1.ShowDialog();
window2.ShowDialog();
修复它。
我想让用户在 MainWindow
出现之前登录。
第一个 window 出现,工作正常,关闭所有其他 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();
}
我有两个完全没动过 windows(除了标题)第二个看起来一样:
<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 开始两个 windows? 或者更好的方法是什么?
我的做法 我试着换掉两个 windows,但没有任何改变。
当然我可以在构造函数中启动LoginForm
/ OnLoaded
从MainWindow
,但这似乎不是解决问题的好方法。
如果身份验证失败,我什至不想启动 MainWindow
。
有什么建议吗?谢谢。
如果不再存在 window,WPF 应用程序将退出。这意味着在创建第二个 window 之前关闭第一个 window 后,您的应用程序将停止。
要解决您的问题,您需要在关闭第一个之前创建第二个 window。只需将您的代码更改为
Window1 window1 = new Window1();
MainWindow window2 = new MainWindow();
window1.ShowDialog();
window2.ShowDialog();
修复它。