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>

  • 相关阅读:
    牛客 小乐乐和25
    codeforces 1303 D 二进制瞎搞
    codeforces 1307 D 最短路bz+贪心
    codeforces 1316 C math
    codeforces 1328E LCA
    codeforces 1335 E2 思维
    codeforces 1335 E1 思维
    codeforces 1342 D 贪心+后缀和
    codeforces 1348D (思维+贪心)
    codeforces 1362 E 进制的性质
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1571418.html
Copyright © 2011-2022 走看看