1
我讀了一些關於如何防止WPF應用程序最大化的答案,並且其中大部分工作。防止從任務管理器(WPF應用程序)最大化
ResizeMode="CanMinimize"
工作正常。
但是,用戶仍然可以去任務管理器,並最大化窗口從那裏:
,這將導致一些問題。
提出的一種方案是聽StateChanged
事件,像這樣:
this.StateChanged += new System.EventHandler((sender, eventArgs) =>
{
if (this.WindowState == System.Windows.WindowState.Maximized)
{
this.WindowState = System.Windows.WindowState.Normal;
}
}
這也適用,但它給像「blickering」動畫窗口去左上角,然後立即返回到它的原始位置。所以從某種意義上說,它是有效的,但它在眼睛上並不好。
有沒有辦法處理狀態更改事件執行之前?像BeforeStateChange
我認爲,如果沒有P-援引這幾乎是不可能的:/ – sTrenat
對不起張貼無益的評論,但我不會」當用戶決定長時間(TaskManager)來克服你的預期佈局時,我真的很擔心自己會變得「不錯」。您應該決定用戶是否嘗試最大化您的窗口(提示:用戶永遠不會錯,但通常無能爲力!),或者如果您在決定窗口大小時對用戶不太好超大字體的窗口設置。 – grek40