所有編碼器在那裏, 在標記此副本之前,直到最後一行爲止。如何阻止對話窗口隱藏在其他窗口的後面 - 主窗口,登錄窗口和對話框
我得到的問題隱藏在主應用程序窗口下的對話框。 我已經檢查了所有的參數,即最高層和所有者,使對話框出現。 最後,我發現我的問題在業主內部,因爲業主是錯誤的。
這裏是我的僞:
- 當有人點擊exe文件,打開登錄窗口(我有一個不同的項目, login.dll)
- 後登錄成功後,啓動主窗口(此是我的實際 主窗口,mainwindow.dll)
- 現在推出主窗口之後,某個地方,我啓動彈出(第三 窗口 - 這是單獨的錯誤處理項目,errorhandler.dll)
問題: 錯誤彈出窗口不會出現並在其他窗口後隱藏。
我的代碼:
if (popupWindow.Owner == null) && popupWindow != System.Windows.Application.Current.MainWindow)
{
popupWindow.Owner = System.Windows.Application.Current.MainWindow;
}
我發現了什麼: 當我調試的代碼,我所觀察到的 - 登錄窗口變得current.Mainwindow,因爲它是首次推出。登錄後我只隱藏窗口而不關閉它。現在,成功登錄後,我啓動主窗口(這是活動窗口,不是實際的主窗口:),令人困惑)
此後,當出現彈出窗口時,上面提到的代碼正在執行,奇怪的是System.Windows.Application。 Current.MainWindow 保存登錄窗口的值並將所有者設置爲登錄窗口,從而使彈出窗口隱藏在其他窗口的後面。
- 我不能關閉登錄窗口後直接登錄成功,因爲它 因爲我的主窗口取2-3 分鐘加載(巨大的東西加載) 如何設置主會終止應用程序窗口爲System.Windows.Application.Current.MainWindow,因爲一旦主窗口加載完成,popup就會在下一秒開始出現。
如何從System.Windows.Application.Current.Windows列表中刪除登錄窗口?
有沒有什麼快捷方法可以讓我們在System.Windows.Application.Current.MainWindow上設置活動窗口,並且每次都會引用它?
爲什麼不首先啓動主窗口,t母雞登錄窗口showdialog? –
其實,我的主窗口需要2-3分鐘的加載。因此,爲了改善用戶體驗,我首先登錄,如果成功,然後讓用戶等待,如果失敗,他們可以在幾秒鐘內關閉它並重新啓動。 –
爲什麼不在主窗口中使用多線程 –