WPF自定义控件选择

使用顺序: DataTemplate, UserControl, ControlTemplate, CustomControl

  1. 尽量使用Template. Template分2种: "纯XAML"和"XAML+CodeBehind"
    尽量使用"纯XAML"类型的Template, 纯XAML的Template可以放在任何资源中, 包括没有CodeBehind的ResouceDictionary中.
    方法:
    - 用Command来操作Model
    - 用DataTrigger 响应Model的事件, 设置UI属性
    - 用Trigger 响应控件事件, 设置控件属性
    - 用Binding, Converter实现Model和UI之间的数据转换
  2. DataTemplate用于描述UI控件和模型数据的对应关系, 使用DataTemplate的关键是:1)选择哪种控件 2)控件和模型间的Binding 3)DataTrigger处理模型事件
  3. ControlTemplate用于重新定义UI控件, 少用. 主要用于开发可重用性控件.
  4. UserControl用于描述UI控件的Style以及UI控件之间的合作. 鼠标事件之类应该由UserControl来处理. UserControl只处理UI控件, 不处理模型数据.
    UserControl侧重于控件的组合.
  5. 使用UserControl和DataTemplate之间的区别 :
    如果多个UI控件的交互非常复杂, 则封装在UserControl中. 当UI和Model之间界限比较清楚时, 用DataTemplate.
    UserControl用于视觉表现和用户交互, DataTemplate用于数据和控件之间绑定.
  6. 需要让用户自定义ControlTemplate时, 使用CustomControl.

原帖:http://www.cnblogs.com/mrfangzheng/archive/2009/10/30/1592857.html

你可能感兴趣的:(WPF自定义控件选择)