样式Style:在原样式基础上覆盖
模板ControlTemplate:替换原样式
样式和模板可以分别引用,且只要修改部分的代码即可,其它代码可删除
比如:
子窗体样式隐藏:想得到子窗体样式隐藏的效果,设置窗体模板:空,并引用模板即可
<Style x:Key="NormalWinStyle" TargetType="sdk:ChildWindow">
<Setter Property="Foreground" Value="{StaticResource FontBlackBrush}"/>
<Setter Property="FontSize" Value="{StaticResource NormalFontSize}"/>
<Setter Property="FontFamily" Value="{StaticResource NormalFontFamily}"/>
</Style>
<ControlTemplate x:Key="HideWinTemplate" TargetType="sdk:ChildWindow">
<Grid>
<ContentPresenter x:Name="ContentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</Grid>
</ControlTemplate>
引用
Style="{StaticResource NormalWinStyle}" Template="{StaticResource HideWinTemplate}">