• WPF的ControlTemplate和DataTemplate简介


    首先理清几个概念,Template、ControlTemplate、ContentTemplate、DataTemplate、ContentControl

    这几个东西名字都差不多,意思感觉也接近,初次接触真的难以理解,那么现在开始区分了:

    1.子类:

      ContentControl是Control的子类,专门用于显示内容的,如常用的Label就是ContentControl的子类

    2.属性:

         Template 是Control类的一个属性;

         ContentTemplate是ContentControl的一个属性;

    3.类型:

         Control的Template属性是ControlTemplate类型的;

         ContentControl的ContentTemplate属性是DataTemplate类型的;

    4.用途:

        ControlTemplate,顾名思义,是控制控件外观和结构的,一般对于某个控件的类型,如一个Button长什么样子,Buttton里有一个列表,列表左侧显示图片等;

        DataTemplate,则是控制一个控件它的数据要如何呈现的,一般对于的是某种数据的类型,(一般是用来修饰其Content属性的),所以要求为该类型的属性赋值,

               如:

                    Label的Content属性赋值后,可以设置Label的ContentTemplate;

                    ItemsControl的ItemsSource属性赋值后,可以设置其的ItemTemplate;

                    HeaderItemsControl的Header属性赋值后,可以设置其的HeaderTemplate;

    5.WPF模板类的继承关系

         FrameworkTemplate

         派生出:

               ControlTemplate(决定控件外观)、ItemsPanelTemplate(决定集合的容器)、DataTemplate(决定数据的呈现方式)

             而DateTemplate又派生出 HierarchicalDataTemplate(层次数据模板,一般用于TreeView和Menu)

    更多内容参考:http://www.cnblogs.com/YangMark/p/3154375.html

  • 相关阅读:
    10.16(day54)
    10.17(day55)
    10.15(day53)
    10.14(day52)
    10.12(day51)
    10.11(day50)form表单,css的引入,css选择器,css修改字体属性
    10.10(day49)初识前端,html基础
    9.25(day44)
    9.24(day43)
    9.23(day42)数据库的配置,数据库表的引擎,数据类型,约束条件
  • 原文地址:https://www.cnblogs.com/tommy-huang/p/5911140.html
Copyright © 2020-2023  润新知