博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF的ControlTemplate和DataTemplate简介
阅读量:5887 次
发布时间:2019-06-19

本文共 870 字,大约阅读时间需要 2 分钟。

首先理清几个概念,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://wpgix.baihongyu.com/

你可能感兴趣的文章
Ubuntu中无法update的解决办法
查看>>
仿射变换
查看>>
decltype类型指示符
查看>>
虹软ArcFace人脸识别 与 Dlib 人脸识别对比
查看>>
laravel 验证码使用示例
查看>>
IE开发人员工具无法使用
查看>>
shiro 认证问题
查看>>
分页器(自定制)
查看>>
Docker系列一:Docker的介绍和安装
查看>>
java中添加定时任务
查看>>
mysql innodb研究中一直不懂的东西(不断更新)
查看>>
洛谷 P1803 凌乱的yyy Label:Water 贪心
查看>>
3.4 函数式编程
查看>>
测试——设计思维之获取反馈
查看>>
python之 前端HTML/CSS基础知识学习笔记
查看>>
Sencha Touch NestList 如何载入tree结构的数据
查看>>
工具栏图标切换
查看>>
Openlayers系列(一)关于地图投影相关错误的解决方案
查看>>
php多进程中的阻塞与非阻塞
查看>>
TensorFlow学习笔记(五)图像数据处理
查看>>