WPF WindowChrome 自定義標題欄時窗體陰影效果設置


即將GlassFrameThickness值設置為"0,0,0,1",此時即可獲得陰影效果,此陰影效果為系統默認(測試系統是Win10)

參考鏈接:https://stackoverflow.com/questions/5897495/shell-integration-library-windowchrome-with-drop-shadow

在MSDN沒查到相關說明

備注:在測試中發現將ResizeMode直接寫在Window標簽屬性上而不是以Style.Setter的方式賦值,當值為NoResize時,窗體會無陰影效果;當Win.SizeToContent = SizeToContent.WidthAndHeight,窗體會有黑色邊塊

xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
<Window.Style> <Style TargetType="Window"> <Setter Property="UseLayoutRounding" Value="True"/> <Setter Property="ResizeMode" Value="NoResize"/> <Setter Property="shell:WindowChrome.WindowChrome"> <Setter.Value> <shell:WindowChrome CaptionHeight="80" GlassFrameThickness="0,0,0,1" ResizeBorderThickness="5" /> </Setter.Value> </Setter> <Style.Triggers> <DataTrigger Binding="{Binding DataContext.IsHomePage, RelativeSource={RelativeSource Self}}" Value="false"> <Setter Property="ResizeMode" Value="CanResize"/> </DataTrigger> </Style.Triggers> </Style> </Window.Style>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM