zoukankan      html  css  js  c++  java
  • Controltemplate datatemplate

    DataTemplate ControlTemplate

    1. we can search many posts about this topic. some valuable link: DataTemplate和ControlTemplate的关系,

    2. we can see some definition about ControlTemplate, DataTemplate, HierarchicalDataTemplate

      2.1. A ControlTemplate is used to define/change the way a class derived from Control looks, such as Buttons, ListBox, ScrollBar. However, some "Controls" you use are not derived from Control: Best example is the TextBlock class. The TextBlock cannot have a ControlTemplate.

      ControlTemplate is connected to the Template property of the Control, we can set it directly to the property.

      2.2 DataTemplate is closelly linked with the “Content” in WPF. Certain controls are made to display "Content". Content can be anything, such as Image, Text, Object.... in fact, it is defined as an "object" type. The DataTemplate simply defines how a particular content (or content type) is meant to be displayed.

      DataTemplate is used to display Content of a Control, the Relative property is CellTemplate,ContentTemplate,ItemTemplate.

      2.3. HierarchicalDataTemplate is an extension of DataTemplate with an additional ItemSource property. It is used to render hierarchical data in controls like treeview or menu.
      Example: Usually, a string is displayed using a simple TextBlock... However, if you want a custom text layout, decoration, alignement, ... you would need to define an Alternate DataTemplate.

    3. the relationship of these concept.

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

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

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


    ListBox controltemplate Datatemplate.

    1. ListBox.template : controltemplate
  • 相关阅读:
    Leetcode424. 替换后的最长重复字符
    Leetcode82. 删除排序链表中的重复元素 II
    python 无序模块,hashlib模块
    python 内置方法
    python 面向对象的三大特性
    python 面向对象
    python 递归函数和二分查找
    python 装饰器
    python 函数名,闭包
    python 函数进阶
  • 原文地址:https://www.cnblogs.com/kongshu-612/p/5525681.html
Copyright © 2011-2022 走看看