【发布时间】:2025-12-28 23:20:20
【问题描述】:
我想显示一个登录窗口以允许用户输入他们的凭据,而不是使用传统的启动屏幕。同时,在后台,我想初始化应用程序,然后加载主窗口。问题是登录窗口一旦显示就被主窗口覆盖了。
private void App_OnStartup(object sender, StartupEventArgs e)
{
Current.MainWindow = new LoginWindow();
Current.MainWindow.Show();
Task.Run(() => { /*do app startup background stuff*/ }).ContinueWith(t =>
{
var appWindow = new ApplicationWindow();
appWindow.Show();
Current.MainWindow.Owner = appWindow;
}, TaskScheduler.FromCurrentSynchronizationContext());
登录窗口从一开始就是主窗口。我的假设是,通过将 ApplicationWindow 的所有者设置为登录窗口,登录窗口将保持在顶部。如果我做错了,有没有办法实现我想要的?最上面的标志有效,但是窗口是最上面的,这是不可取的。
【问题讨论】: