博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控件自定义
阅读量:7079 次
发布时间:2019-06-28

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

控件自定义

WPF 提供三个用于创建控件的一般模型,每个模型都提供不同的功能集和灵活度。 这三个模型的基类分别为、 和 。

如果控件继承自 ,则使用该控件的用户将无法使用 或 来自定义其外观。

如果符合以下任一情况,请考虑从 派生,而不要使用 类: 希望控件外观能通过 进行自定义。 希望控件支持不同的主题。

从 或 派生的控件依赖于组合现有元素。 但是,某些时候,简单的元素组合不能满足控件的外观需要。 对于这些情况,使组件基于 才是正确的选择。

当属性为依赖项属性时,可以进行下面的操作:
  • 在样式中设置该属性。

  • 将该属性绑定到数据源。

  • 使用动态资源作为该属性的值。

  • 动画处理该属性。    

下面的示例通过执行以下操作定义一个名为 Value 的依赖项属性:

将一个名为 ValueProperty 的 标识符定义为 publicstaticreadonly 字段。

通过调用 向属性系统注册该属性名

通过实现该属性的 getset 访问器定义一个名为 Value(即用来注册该依赖项属性的名称)的 CLR 包装属性。getset 访问器只是分别调用 和 。

为 定义一个名为 CoerceValue 的方法。

为 定义一个名为 OnValueChanged 的方法。 

路由事件支持以下行为:

事件可以在多个控件的父级上进行处理。

路由事件可在 中使用,应用程序开发人员通过 EventSetter 可以在样式内指定事件的处理程序。

路由事件可在 中使用,这对于使用 XAML 对属性进行动画处理很有用。

通过执行以下操作定义了一个路由事件:              

将一个名为 ValueChangedEvent 的 标识符定义为 publicstaticreadonly 字段。

通过调用 方法注册该路由事件。

声明一个名为 ValueChanged 的公共事件,并包含事件访问器声明.该示例调用 add 访问器声明中的 和 remove 访问器声明中的 来使用 WPF 事件服务。                

创建一个名为 OnValueChanged 的受保护的虚方法,该方法引发 ValueChanged 事件。                  

应按照以下原则在自定义控件上实现附加属性:

具有一个使用 方法创建的 publicstaticreadonly,其形式为“属性名称Property”。

实现一对名为 Set属性名称 Get属性名称public static CLR 方法。 这两种方法都应接受从 派生的类作为其第一个参数。 

Set 属性名称Get属性名称 必须分别直接路由到目标依赖项对象的 和 方法。

 

转载地址:http://uqpml.baihongyu.com/

你可能感兴趣的文章
物联网时代三大标准齐头并进 互为补充
查看>>
阿里云成为Linux基金会金牌会员
查看>>
大数据时代 数据中心面临三大挑战
查看>>
《网络空间欺骗:构筑欺骗防御的科学基石》一3.3.4 识别和量化恶意软件的指标...
查看>>
自动化是任何云计算的基础
查看>>
密码提取神器 mimikatz 现已支持Windows 10 RS2
查看>>
老生常谈数据中心节能
查看>>
Check Point 指出2016 下半年勒索软件倍增
查看>>
微服务和容器对企业带来什么样的影响?
查看>>
如何掌握好应用程序的数据和未来发展
查看>>
“免费WiFi午餐”到底要怎么“吃”?
查看>>
2016首都网络安全日系列活动之打击电信网络诈骗宣传体验展
查看>>
Python vs R : 在机器学习和数据分析领域中的对比
查看>>
利用大数据发展业务的五个维度
查看>>
基于机器学习方法对销售预测的研究
查看>>
Linux桌面系统的优势
查看>>
Windows 10 KB3124200补丁无法安装的临时解决方案
查看>>
OpenStack隐忧初现?创始者之一Nebula公司宣布倒闭
查看>>
驾好“三套车”,打造大数据产业的竞争力
查看>>
VSAN加密大揭秘
查看>>