WPF控件开发之自定义控件(3)
2014-01-23 14:33
267 查看
创建 UserControl
如前所述,在 WPF 中创建控件的最简单方法是从 UserControl 派生。下面的示例演示用于定义 NumericUpDownUserControl 的 用户界面 (UI) 的 XAML:
下面的示例演示此 UserControl 的逻辑。
如此示例所示,自定义 UserControl 的开发模型非常类似于用于应用程序开发的模型。
创建自定义控件
生成支持模板的控件
UserControl 提供了一种简单方法在 WPF 中生成可重用的功能,但要利用模板化和支持不同主题,则要使用的模型为 Control。本节将上一节中的 UserControl 示例转换为自定义 Control。
更改基类
首先,将 UserControl 基类替换为 Control。
移动到模板
一旦更新了基类,则需要将控件的内容移动到模板。模板在可位于应用程序中的很多位置的样式中定义。对于此示例,样式位于应用程序资源中。
在 UserControl 示例中,TextBlock 和 RepeatButton 实例已指定了名称。RepeatButton 实例还引用了代码中定义的事件处理程序。可以在此自定义 Control 中移除这两个实例,因为将通过更松散耦合的方式,改为使用绑定和命令来获取相同的行为。
如前所述,在 WPF 中创建控件的最简单方法是从 UserControl 派生。下面的示例演示用于定义 NumericUpDownUserControl 的 用户界面 (UI) 的 XAML:
下面的示例演示此 UserControl 的逻辑。
如此示例所示,自定义 UserControl 的开发模型非常类似于用于应用程序开发的模型。
创建自定义控件
生成支持模板的控件
UserControl 提供了一种简单方法在 WPF 中生成可重用的功能,但要利用模板化和支持不同主题,则要使用的模型为 Control。本节将上一节中的 UserControl 示例转换为自定义 Control。
更改基类
首先,将 UserControl 基类替换为 Control。
移动到模板
一旦更新了基类,则需要将控件的内容移动到模板。模板在可位于应用程序中的很多位置的样式中定义。对于此示例,样式位于应用程序资源中。
在 UserControl 示例中,TextBlock 和 RepeatButton 实例已指定了名称。RepeatButton 实例还引用了代码中定义的事件处理程序。可以在此自定义 Control 中移除这两个实例,因为将通过更松散耦合的方式,改为使用绑定和命令来获取相同的行为。
相关文章推荐
- WPF控件开发之自定义控件(1)
- WPF控件开发之自定义控件(1)
- WPF控件开发之自定义控件(2)
- WPF控件开发之自定义控件(2)
- WPF控件开发之自定义控件(3)
- WPF控件开发之自定义控件(1)
- WPF控件开发之自定义控件(4)
- WPF控件开发之自定义控件(4)
- WPF控件开发之自定义控件(2)
- WPF控件开发之自定义控件(5)
- WPF控件开发之自定义控件(5)
- WPF控件开发之自定义控件(3)
- WPF控件开发之自定义控件(4)
- 【WPF开发备忘】使用MVVM模式开发中列表控件内的按钮事件无法触发解决方法
- asp.net控件开发基础(5) ----------简单介绍自定义控件简单属性和复杂属性
- Asp.net 2.0控件开发相关调试(JavaScript调试和自定义控件设计时调试)
- Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]
- wpf控件开发基础(1)
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]