码迷,mamicode.com
首页 > 其他好文 > 详细

三,依赖项属性

时间:2014-07-22 22:53:15      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   

  1. 定义依赖项属性
    public class FrameworkElement : UIElement
    {
        public static readonly DependencyProperty MarginProperty;
    
        static FrameworkElement()
        {
            FrameworkPropertyMetadata metadata = new FrameworkPropertyMetadata(new Thickness(), FrameworkPropertyMetadataOptions.None);
            MarginProperty = DependencyProperty.Register("Margin", typeof(Thickness), typeof(FrameworkElement), metadata, null);
        }
    
        public Thickness Margin
        {
            set { SetValue(MarginProperty, value); }
            get { return (Thickness)GetValue(MarginProperty); }
        }
    }

    只能为依赖对象(继承自DependencyObject的类)添加依赖项属性。它是DependencyProperty类的实例,属性信息应该始终保持可用,甚至可能需要在多个类中共享这些信息,因此,必须将DependencyProperty对象定义为与之相关联的类的静态字段。根据约定,定义依赖项属性的字段的名称为在普通属性的末尾加上单词“Property”,且使用readonly关键字进行修饰。
    DependencyProperty不能被直接实例化,因为DependencyProperty没有公有的构造函数,只能使用静态的DependencyProperty.Register()方法创建。
    注册一个依赖项属性需要经过两个步骤,首先创建一个FrameworkPropertyMetadata对象,该对象希望通过依赖项属性使用什么服务。其次通过调用DependencyProperty.Register()静态方法注册属性,在这一步中需提供以下几个要素:
    1)  属性名:在该示例中为Margin
    2)  属性使用的数据类型:在该示例中为Thickness结构
    3)  拥有该属性的类型:在该示例中为FrameworkElement类
    4)  一个具有附加属性设置的 FrameworkPropertyMetadata对象,该要素是可选的
    5)  一个用于验证属性的回调函数,该要素是可选的
    FrameworkPropertyMetadata类的所有属性的说明如下:
    bubuko.com,布布扣

三,依赖项属性,布布扣,bubuko.com

三,依赖项属性

标签:style   blog   http   color   使用   strong   

原文地址:http://www.cnblogs.com/jiao1855/p/3855142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!