WPF控件创作模型的选择

控件创作模型

WPF 提供了三种用于创建控件的常规模型,每一种都提供了一组不同的功能和灵活性级别。开始编写新控件之前,应先了解这些模型,这一点至关重要。

1。从 UserControl 派生

从 UserControl 派生的优点

 

2。从 Control 派生

从 Control 派生的优点

 

 

3。从 FrameworkElement 派生

从 UserControl 和 Control 派生的控件依赖于组合现有元素。有时自定义组件需要的精确控制超过简单的元素组合可提供的功能。对于这些情况,使组件基于 FrameworkElement 才是正确的选择。生成基于 FrameworkElement 的组件有两种标准方法:直接呈现和自定义元素组合。直接呈现涉及的操作包括:重写 FrameworkElement 的 OnRender 方法,并提供显式定义组件视觉效果的 DrawingContext 操作。此方法由 Image 和 Border 使用。自定义元素组合涉及的操作包括实例化和使用 Visual 类型的对象组合组件的外观。有关示例,请参见使用 DrawingVisual 对象。Track 是 WPF 中使用自定义元素组合的控件示例。也可以在同一控件中混合使用直接呈现和自定义元素组合。

从 FrameworkElement 派生的优点

如果以下一种或多种情况适用,请考虑从 FrameworkElement 派生:

  • 想要对控件的外观进行精确控制,而不仅仅是简单的元素组合提供的内容。

  • 想要通过定义自己的呈现逻辑来定义控件的外观。

  • 想要以一种 UserControl 和 Control 之外的新颖方式组合现有元素。

 -------------------------------------以上内容来源于MSDN-----------------------------------------------------

posted @ 2008-10-28 16:58  Brian Tan  阅读(251)  评论(0编辑  收藏  举报