WPF系列(一)依赖项属性
来源:互联网 发布:花与剑 js 编辑:程序博客网 时间:2024/05/29 02:35
依赖项属性是标准.NET属性的全新实现——具有大量新增价值。在WPF的核心特性中需要嵌入依赖性属性。WPF元素提供的大多数属性都是依赖项属性。相对于创建依赖项属性,大多数情况下只是使用他们。当我们自定义控件时,会创建依赖属性。。现在通过自定义调音台控件介绍WPF中依赖属性的知识。
自定义控件调音台SingnalLight,实现功能(示例程序摘自 鱼哥的地盘)
- 接收来自外部的范围0~100的数值
- 实时显示接收数值
- 列表内容
- 数值范围0~50显示绿色,50~85显示黄色,85~100显示红色,没有数值显示褐色
- 可在父控件上拖拽该控件
以下是其中一段定义依赖属性的代码
public int ValueA { get { return (int)GetValue(ValueAProperty); } set { SetValue(ValueAProperty, value); } } // Using a DependencyProperty as the backing store for ValueA. This enables animation, styling, binding, etc... public static readonly DependencyProperty ValueAProperty = DependencyProperty.Register("ValueA", typeof(int), typeof(SingnalLight), new PropertyMetadata(0));
第一步定义表示属性的对象,它是DependencyProject类的实例。
第二步是注册依赖属性。需要提供以下几个参数
// // 摘要: // 使用指定的属性名称、属性类型和所有者类型注册依赖项属性。 // // 参数: // name: // 要注册的依赖项对象的名称。在所有者类型的注册命名空间内,名称必须是唯一的。 // // propertyType: // 属性的类型。 // // ownerType: // 正注册依赖项对象的所有者类型。 // // 返回结果: // 一个依赖项对象标识符,应使用它在您的类中设置 public static readonly 字段的值。然后,在以后使用该标识符引用依赖项对象,用于某些操作,例如以编程方式设置其值,或者获取元数据。 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] public static DependencyProperty Register(string name, Type propertyType, Type ownerType); // // 摘要: // 使用指定的属性名称、属性类型、所有者类型和属性元数据注册依赖项属性。 // // 参数: // name: // 要注册的依赖项对象的名称。 // // propertyType: // 属性的类型。 // // ownerType: // 正注册依赖项对象的所有者类型。 // // typeMetadata: // 依赖项对象的属性元数据。 // // 返回结果: // 一个依赖项对象标识符,应使用它在您的类中设置 public static readonly 字段的值。然后,在以后使用该标识符引用依赖项对象,用于某些操作,例如以编程方式设置其值,或者获取元数据。 [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] public static DependencyProperty Register(string name, Type propertyType, Type ownerType, PropertyMetadata typeMetadata); // // 摘要: // 使用指定的属性名称、属性类型、所有者类型、属性元数据和属性的值验证回调来注册依赖项属性。 // // 参数: // name: // 要注册的依赖项对象的名称。 // // propertyType: // 属性的类型。 // // ownerType: // 正注册依赖项对象的所有者类型。 // // typeMetadata: // 依赖项对象的属性元数据。 // // validateValueCallback: // 对回调的引用,除了典型的类型验证之外,该引用还应执行依赖项对象值的任何自定义验证。 // // 返回结果: // 一个依赖项对象标识符,应使用它在您的类中设置 public static readonly 字段的值。然后,在以后使用该标识符引用依赖项对象,用于某些操作,例如以编程方式设置其值,或者获取元数据。 public static DependencyProperty Register(string name, Type propertyType, Type ownerType, PropertyMetadata typeMetadata, ValidateValueCallback validateValueCallback);
另外有个小技巧,在VS中输入propdp会直接生成创建依赖项属性的代码,再通过简单的修改即可。
本文地址:http://blog.csdn.net/shi_tou_ge/article/details/50881023
2016年03月13日完成
0 0
- WPF系列(一)依赖项属性
- WPF属性(一)依赖属性
- 一站式WPF--依赖属性(DependencyProperty)一
- 一站式WPF--依赖属性(DependencyProperty)一
- 一站式WPF--依赖属性(DependencyProperty)一
- WPF中的属性(一)- CLR属性和依赖属性
- wpf 依赖项属性
- wpf依赖项属性
- WPF(依赖属性)
- (WPF)依赖属性
- (WPF)依赖属性
- WPF依赖项属性原理(原创)
- WPF学习系列018: 3.2 依赖属性
- WPF中的依赖项属性
- WPF中的依赖项属性
- WPF中的依赖项属性
- WPF依赖项属性学习
- WPF中的依赖项属性
- PLA分类器学习(转载)
- 总结
- javaWeb工程目录
- discuz增加邮件通知功能
- iOS 沙盒路径详解(存储路径的选择)
- WPF系列(一)依赖项属性
- Eclipse Che安装入门和使用(一)
- C++ Set常用用法
- Viewpager+Fragment滑动更改ListView数据和设置title文字的变化
- OS存储器管理(二)
- MySQL安装、配置和使用(二)
- DICOM-RT:DICOM3.0标准中关于放疗的基本知识点
- 简单理解通知注册与调用
- 6.1 Javascript:事件与回调函数