2010-05-15 83 views

回答

75

設置WindowState = WindowState.Minimized;

+0

謝謝,我不能碰到這個xd – Erika 2010-05-15 18:51:31

19

您在尋找Window.WindowState屬性。這是一個依賴性屬性,更改時會設置Window.RestoreBounds屬性,因此您可以始終在更改前恢復到該大小。

查看枚舉here

myWindow.WindowState = WindowState.Minimized; 
11

this.WindowState = WindowState.Minimized;

2
YourWindowName.WindowState = WindowState.Minimized; 
4

使用窗口的對象WindowState property到programmaticly最小化窗口。

window.WindowState = WindowState.Minimized; 

設置窗口狀態WindowState.Normal將恢復窗口是以前WindowsState,大小和位置。

window.WindowState = WindowState.Normal; 

Window.Normal有點用詞不當。在WindowState propertyWindowState Enumeration MSDN文章提示在WindowState.Normal實際功能和測試證實它。

0

正如許多說,

window.WindowState = WindowState.Minimized

可以最小化窗口爲您服務。 但要小心計時 - 我意外地在MouseLeftButtonDown處理程序(vs MouseLeftButtonUp)中設置了此項,並且窗口無法恢復。

12

對於那些有同樣問題的人:請記住,如果ShowInTaskbar設置爲false,那麼WindowState.Minimized會將窗口最小化爲桌面左下方的小窗口標題欄 - 因此它不會最小化。

解決方法是將ShowInTaskbar設置爲true,將WindowState設置爲Minimized,然後將ShowInTaskbar重置爲舊值。

+0

謝謝!這解決了我的問題。你在第一句話中有錯誤。它應該是:如果ShowInTaskbar設置爲false(不是true)。 – 2015-12-15 12:10:53

+1

Tal Segal,你是對的 - 坦克!我編輯了這篇文章。 – Lumo 2015-12-16 13:48:38

+0

解決方法很好。我在StateChanged期間將ShowInTaskbar設置爲false – CRice 2016-08-08 07:03:06