0
而不是使用傳統的啓動畫面,我想顯示一個登錄窗口以允許用戶輸入他們的憑證。同時,在後臺,我想初始化應用程序,然後加載主窗口。問題是登錄窗口被主窗口覆蓋了一次。如何讓WPF窗口保持在另一個之上?
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的所有者設置爲登錄窗口,登錄窗口將保持在最前面。如果我做錯了,是否有辦法實現我想要的?最頂端的標誌有效,但窗口最好是最頂端的,這是不可取的。
感謝您的幫助。我的問題是我希望用它所需的參數構造MainWindow。另外,我希望更多地瞭解整個「所有者」的事情。最終你的解決方案可能是最好的。 – Dan
謝謝你讓我回到地球。我試圖設計的是複雜的方式。 – Dan