网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

对WPF依赖项属性的理解

    属性和事件是.NET抽象模型的核心部分, 而WPF中则用更高级的依赖项属性(Dependency Property)代替了原来.NET中的属性.依赖项属性主要应用于自定义元素中,用于为自定义元素注入自定义的属性.

创新互联专注于平和网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供平和营销型网站建设,平和网站制作、平和网页设计、平和网站官网定制、小程序定制开发服务,打造平和网络公司原创品牌,更为您提供平和网站排名全网营销落地服务。

    以下是定义和注册依赖项属性的方法:

//声明并注册依赖项属性 FoodProperty
public static DependencyProperty FoodProperty = 
    DependencyProperty.Register("Food", typeof(Food), typeof(FoodManager), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnFoodChanged)));

    调用DependencyProperty.Register()静态方法为依赖项属性注册,在这个方法中,有5个参数:属性名(上面的"Food"),属性使用的数据类型,拥有该属性的类,一个具有附加属性设置的FrameworkPropertyMetadata对象(上面的FrameworkPropertyMetadata对象中传入了一个属性改变时的回调函数),一个用于验证属性的回调函数. 其中,后面2个是可选的.

    然后添加属性包装器:

Public Food Food
{
    get{ return (Food)GetValue(FoodProperty);}
    set{ SetValue(FoodProperty,value);}
}

    如果是自定义元素,添加属性包装器后, 在使用控件时就能使用该属性. 当然, 如果要在属性变化时触发代码, 就要实现注册依赖项属性时的回调函数(本例中的OnFoodChanged()).

    上面只是依赖项属性的部分内容, 依赖项属性还可以插入其它WPF服务, 以及支持验证回调和强制回调.

    PS: 当你为自定义元素注入一个枚举类型的依赖项属性时, 会出现一个很方便有趣的现象: VS2010的编辑器会把枚举类型中的内容列举出来, 以供你选择. 就好像你给Border设置Background一样.

    建议学习WPF的人去看《WPF编程宝典》, 内容实在太全面了, 而且每一章节都有对应的源码.


本文名称:对WPF依赖项属性的理解
文章链接:http://bjjierui.cn/article/jdhghs.html

其他资讯