Template
个人认为这部分涉及界面的内容较多,理解的东西与之前相比相对简单,但是内容更杂,需要在实际编程时多用多积累。
一、模板的内涵
WPF系统与业务逻辑的边界是Binding,Binding沟通了内部程序和界面元素;
控件(Control)是数据内容和算法内容两种表现形式的双重载体:
- 算法内容:决定控件的功能:展示哪些数据,具有哪些方法,响应哪些操作,能激发什么事件;
- 数据内容:决定控件展示的具体数据。
控件的算法内容对应ControlTemplate,数据内容对应DataTemplate。
二、数据外衣——DataTemplate
常用于:
- ContentControl的ContentTemplate属性;
- ItemControl的ItemTemplate属性;
- GridViewColumn的CellTemplate属性。
可以实现低耦合的数据驱动!
三、控件外衣——ControlTemplate
两大用处:
- 更换ControlTemplate改变控件的外观;
- 程序员和设计师并行工作。