我希望達到與基於Windows Media Player或基於瀏覽器的Flash播放器相同的效果,這些播放器在最大化時佔用整個(甚至不是任務欄可見)實際佔用的空間。WPF窗口樣式=無覆蓋任務欄當應用程序初始化時最大化
如果WindowState
設置爲Maximized
等應用程序在該國開始WindowStyle
設置爲None
在XAML這工作得很好。問題是我想在邊框窗口中啓動應用程序,當用戶選擇時,按照上面的指定最大化。在StateChanged
處理程序中,我檢查Maximized
狀態,如果是這種情況,我將WindowStyle
設置爲None
。這具有最大化窗口但不覆蓋任務欄的效果。下面的代碼將完成這項工作,因爲我想但其背,我想清理:
if (WindowState == WindowState.Maximized)
{
m_videoWindow.Maximize();
WindowStyle = WindowStyle.None;
//the following makes this work but I would like to clean it up
Hide();
Show();
}
編輯This(從2006年時仍處於CTP)提到從MS問題,有人他們希望在下一個版本中改進全屏支持,是否進行了這些改進?
這個問題仍然活着,並與WPF/.NET 4.0的所有最新版本... - 我想微軟希望這個錯誤是向後兼容的...你的隱藏/顯示修復工程很好,但...我在做我的一點不同,調用隱藏,設置屬性,然後調用Show。 – BrainSlugs83 2011-09-18 08:56:54
那該死的。我注意到我的一些控件沒有正確調整大小,不知道爲什麼(無論是我的訂單還是訂單...);快速解決方案是最大化,調用DoEvents(),將WindowStyle設置爲None,然後調用Hide&Show。 - DoEvents當然是System.Windows.Forms.Application.DoEvents()(是的,我知道這是瘋了,也許是最壞的做法,但它的工作原理......) – BrainSlugs83 2011-09-18 09:47:36