即將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>