簡體   English   中英

使窗口從折疊可見后的所有其他窗口下的WPF窗口

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM