zoukankan      html  css  js  c++  java
  • WPF Template简介

    分类

     
    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

  • 相关阅读:
    js正则表达式——数字校验
    php curl cookie 读写
    Java遍历所有网卡打印对应IP
    mysql 查看数据库大小
    执行mvn 报错 source-1.5 中不支持 diamond运算符
    php开学之环境搭建
    ubuntu漂亮主题
    CleanAop使用笔记
    python学习笔记(五)
    python学习笔记(四)
  • 原文地址:https://www.cnblogs.com/Lulus/p/8157706.html
Copyright © 2011-2022 走看看