zoukankan      html  css  js  c++  java
  • WPF : ControlTemplate和DataTemplate的区别

    ControlTemplate用于描述控件本身. 使用TemplateBinding来绑定控件自身的属性, 比如{TemplateBinding Background}
    DataTemplate用于描述控件的Content. 使用Binding来绑定数据对象的属性, 比如{Binding PersonName}

    一般来说, ControlTemplate内有一个ContentPresenter, 这个ContentPresenter的ContentTemplate就是DataTemplate类型

    Control类型
        - Template属性 (ControlTemplate类型)
            - ContentPresenter
                - ContentTemplate (DataTemplate类型)

    ContentControl类型
        - Template属性 (ControlTemplate类型) 继承自Control
        - ContentTemplate (DataTemplate类型)

    ItemsControl类型
        - Template属性 (ControlTemplate类型) 继承自Control
        - ItemsPanel属性 (ItemsPanelTemplate类型) 指定布局容器
        - ItemTemplate属性 (DateTemplate类型) 每个Item的Template

    <Style TargetType="Button">
      <Setter Property="OverridesDefaultStyle" Value="True"/>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="Button">
            <Grid>
              <Ellipse Fill="{TemplateBinding Background}"/>
              <ContentPresenter HorizontalAlignment="Center"
                                VerticalAlignment="Center"/>
            </Grid>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>

  • 相关阅读:
    一些常用的代码规范
    策略模式学习,使用go实现策略模式
    数据库作业3:第二章课后题
    数据库作业4:SQL练习1
    对数据库相关的概念自己的理解
    SQL server的初步使用
    对于高德地图SDK的开发使用
    滑稽(好像会动)!
    羊车门作业
    对Python课的看法
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1571418.html
Copyright © 2011-2022 走看看