WPF中使用WindowChrome美化窗口,在園子里有幾篇不錯的文章,我也是參考練習過程中發現的問題,並記錄下來。
在看過幾篇教程后,給出的窗口很多出現這樣一個問題,如果設置了窗口標題欄的高度大於默認高度,超出默認高度的區域不能夠響應雙擊事件和右鍵。如下圖所示,整個標題欄黃色區域下方的區域是不能響應雙擊事件和右鍵的。
黃色區域部分能夠正常響應:
最后發現這樣解決途徑:
<Setter Property="WindowChrome.WindowChrome"> <Setter.Value> <WindowChrome CaptionHeight="60" CornerRadius="0" GlassFrameThickness="1" UseAeroCaptionButtons="True" NonClientFrameEdges="None" /> </Setter.Value> </Setter>
設置WindowChrome的CaptionHeight屬性,同時設置標題欄模板中的行高度。設置后,自定義窗口的功能就完整了。
最后完整效果:
失去焦點:
關閉按鈕動畫: