WPF之创建依赖项属性

前端之家收集整理的这篇文章主要介绍了WPF之创建依赖项属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
[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; } }
原文链接:https://www.f2er.com/javaschema/285523.html

猜你在找的设计模式相关文章