Template简介

分类

1
ControlTemplate
ItemsPanelTemplate
DataTemplate

样式Style和模板Template对比

Style:样式,风格
Template:模版,某种控件长什么样子
Style依赖原始控件,对控件的已有属性进行改造
Template天马行空,实现对控件颠覆式的改造
Style中可以包含Template

Style嵌套Template

<Window.Resources>
    <Style TargetType="CheckBox" x:Key="CheckBoxStyle">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="CheckBox">
                    <StackPanel>
                        <!--设置Rectangle边框的宽度和颜色,设置Rectangle的高宽-->
                        <Rectangle Name="breakRectangle" Stroke="Cyan" StrokeThickness="2" Width="20" Height="20">
                            <Rectangle.Fill>
                                <!--默认Rectangle填充色为White-->
                                <SolidColorBrush Color="White"></SolidColorBrush>
                            </Rectangle.Fill>
                        </Rectangle>
                        <!--没有ContentPresenter标签,则不保留原来的属性,显示不出文本-->
                        <!--TemplateBinding Padding,则绑定每个CheckBox自己的Margin,更灵活-->
                        <ContentPresenter Margin="{TemplateBinding Padding}"></ContentPresenter>
                    </StackPanel>
                    <ControlTemplate.Triggers>
                        <!--目标为breakRectangle,当IsChecked=true的时候,将填充色设置为CornflowerBlue-->
                        <Trigger Property="IsChecked" Value="True">
                            <Setter TargetName="breakRectangle" Property="Fill" Value="CornflowerBlue"></Setter>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>
<Grid>
    <CheckBox Style="{StaticResource CheckBoxStyle}"></CheckBox>
</Grid>

示例代码

https://github.com/zLulus/NotePractice/tree/dev3/WPF/WpfDemo/Template/StyleUseTemplate

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,791评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,255评论 4 61
  • 总认为自己很努力……很开心,总以为努力之后就有回报……但是事实经常是与之背道而驰的结果!伤心……流泪,完了之后还要...
    永远到不了终点阅读 1,378评论 0 0
  • logImpl 置顶log实现组件,可选值SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMO...
    一路摇到顶阅读 6,141评论 0 0
  • 绳索划船 15kg*12 4组 高位下拉 47kg*12 75kg*8+40kg*8 2组 62kg*8+4...
    shane911阅读 876评论 0 0