WPF之创建依赖项属性
发布时间:2020-12-13 23:01:00 所属栏目:百科 来源:网络整理
导读:[url= http://www.51zxw.net/study.asp?vip=8963801] 学IT必看,【经典】 【基
[url=
http://www.51zxw.net/study.asp?vip=8963801] 学IT必看,【经典】 【基础】 【进阶】 【实践 】 【成神】【超神】【返璞归真】
[/url]
using System;
using System.Collections.Generic; using System.Linq; using System.Text; namespace WpfDependencyObject { //定义依赖属性的类必须集成 DependencyObject的类 public class DependencyEx : System.Windows.DependencyObject { #region 第一步 定义依赖项属性
//第一步定义表示属性的对象 ,它是DependencyProperty类的一个实例
//根据约定,定义依赖属性的字段的名称为在普通属性的末尾加上单词“Property”
public static readonly System.Windows.DependencyProperty MyTestProperty;
#endregion
#region 第二步 注册依赖项属性 ///这一步需要在任何使用属性的代码前完成,因此它必须在与之关联的类的静态构造函数中进行 public static DependencyEx() { ///注册依赖项属性需要两个步骤 #region 首相创建一个 FrameworkPropertyMetadata 对象 ,该对象指示要通过依赖项属性做什么服务(如支持数据绑定,动画以及日资)
System.Windows.FrameworkPropertyMetadata metadata = new System.Windows.FrameworkPropertyMetadata(new int(),System.Windows.FrameworkPropertyMetadataOptions.AffectsParentMeasure);
#endregion
#region 接下来通过调用DependencyProperty.Register()静态方法注册属性
MyTestProperty = System.Windows.DependencyProperty.Register("MyTest",typeof(int),typeof(DependencyEx),metadata,new System.Windows.ValidateValueCallback(Test));
///DependencyProperty.Register();
///1.属性名称 (该例子中是 MyTest) ///2.属性使用的数据类型(该例子中是 int) ///3.拥有该属性的类型(该例子中是 DependencyEx) ///4.一个具有附加属性设置的 FrameworkPropertyMetadata 对象, 该要素是可选的 ///5.一个用于验证属性的回调函数, 该要素是可选的 #endregion } #endregion #region 第三步 添加属性包装器
public int MyTest
{ set { SetValue(MyTestProperty,value); } get { return (int)GetValue(MyTestProperty); } }
#endregion
private void test() { ClearValue(MyTestProperty); //删除本地设置用的 }
public static bool Test(object obj) { return true; } }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |