2012-07-29 54 views
3

我在WPF中創建了一個無邊框窗口。我已經寫了一個事件來最大化窗口,但是最大化時,窗口的一部分有時會隱藏在任務欄後面,並在任務欄頂部出現一段時間。最大化無邊界應用程序隱藏在Win 7和Win 8任務欄後面

如何確保窗口每次都保持在任務欄頂部?下面是我實現的方式:我已經試過最上面的屬性設置爲true

private void OnMaximizedClicked(object sender, RoutedEventArgs e) 
{ 
    this.WindowState = this.WindowState != WindowState.Normal ? WindowState.Normal : WindowState.Maximized; 
} 

,但也幫不了我。

+0

如何在一個「沒有窗戶的應用」最大化窗口? – 2012-07-29 19:02:11

+0

我在網格上創建一個堆棧面板,添加三個按鈕,最小值,最大值和關閉值。換句話說,創建我自己的標題欄。 – 2012-07-29 19:10:13

+0

它被稱爲「無邊界窗口」。我不重複這種行爲。 – 2012-07-29 19:18:47

回答

1

這將修復它,但我覺得應該有一個更優雅的方式:

this.WindowStyle = System.Windows.WindowStyle.SingleBorderWindow; 
this.WindowState = this.WindowState != WindowState.Normal 
       ? WindowState.Normal : WindowState.Maximized; 
this.WindowStyle = System.Windows.WindowStyle.None; 

順便說一句,我適應從這個WinForms answer。所以它不是WPF相關的,你可以拋出更廣泛的搜索網絡。

+0

當我在最大化後設置WindowStyle時,窗口溢出屏幕大約8個像素(看起來是在所有邊上),而不是正確地最大化。 – 2014-12-27 01:11:55

0

設置ResizeMode到NoResize幫助我的情況:

ResizeMode="NoResize" 
相關問題