[英]WPF Window under all other windows after making window visible from being collapsed
我的WPF窗口出現一些令人沮喪的問題。 我要設計的是:
當用戶最小化窗口時,它將最小化為系統任務欄圖標(將窗口和圖標隱藏在開始欄上)。 當用戶右鍵單擊該圖標時,將顯示一個帶有選項的上下文菜單,其中一個選項將說“打開”,這將打開該應用程序(再次顯示窗口/取消隱藏窗口)。 用戶也可以雙擊圖標。
很簡單吧?
我沒有任何問題最小化到任務欄,我只對窗口的關閉事件執行以下操作:
e.Cancel = true;
this.Visibility = Visibility.Collapsed;
但是,我在正確還原窗口時遇到了問題。 我只需在上下文菜單中單擊“ click”或“圖標”雙擊事件即可:
this.Visibility = Visibility.Visible;
this.Activate();
問題是該窗口再次位於帶有其圖標的開始欄上,但位於用戶打開的每個窗口的后面。 我想要這樣,以便當用戶打開窗口時它將是最上面的窗口。 我並不總是希望它成為最高的,只是當他們想再次使它可見時。
我嘗試了很多事情,例如將show show on on window設置為true,使其可見后等待一秒鍾,然后再激活該窗口,多次激活該窗口(工作了幾次,但可能是10次嘗試中的1次),等等。 ..
我不認為顯示/隱藏窗口會很煩人,而且我不確定自己做錯了什么。
任何幫助表示贊賞,謝謝。
僅在發布此內容后我才意識到,應用程序在隱藏之前先最小化。 當我顯示窗口時,它顯示為最小化。
知道此問題后,我得以解決此問題。 這可以幫助確實決定最小化后隱藏窗口的其他人。
編輯這是我用來隱藏窗口的代碼(在事件觸發狀態更改為[最小化]之后調用):
Application.Current.MainWindow.Visibility = Visibility.Collapsed;
Application.Current.MainWindow.WindowState = WindowState.Normal;
您會發現在隱藏窗口狀態后,我將其恢復為正常狀態。 即使窗口是隱藏的並且不呈現,它也會在內存中恢復窗口的位置/大小。
然后,當我想再次看到該窗口時,我只是這樣做:
Application.Current.MainWindow.Visibility = Visibility.Visible;
這將顯示窗口就好了!
希望這可以幫助某人!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.