WPF附加属性

Posted 花开花落-2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF附加属性相关的知识,希望对你有一定的参考价值。

附加属性实质也是依赖属性,是说一个属性本来不属于某个对象,但由于某种需求被后来附加上的,也就是说把对象放入一个特定环境后才具有的属性

例子:人在学校有年纪和班级两个属性,人放在学校里会获得年级和班级两个属性说明年级和班级两个属性是学校附加给人的。因此这两个属性的真实所有者应该是学校

1.1.自定义附加属性

public class School
    {
        public static int GetGrade(DependencyObject obj)
        {
            return (int)obj.GetValue(GradeProperty);
        }

        public static void SetGrade(DependencyObject obj, int value)
        {
            obj.SetValue(GradeProperty, value);
        }

        // Using a DependencyProperty as the backing store for Grade.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty GradeProperty =
            DependencyProperty.RegisterAttached("Grade", typeof(int), typeof(School), new PropertyMetadata(0)); 
    }
 //自定义附加属性的使用
  Human human = new Human();
  School.SetGrade(human, 6);
  int grade = School.GetGrade(human);
  MessageBox.Show(grade.ToString());

 

以上是关于WPF附加属性的主要内容,如果未能解决你的问题,请参考以下文章

WPF 使用附加属性增加控件属性

WPF 精修篇 附加属性

WPF 依赖属性和附加属性

WPF附加属性

从代码绑定到 WinRT/UWP 中的自定义附加属性

WPF 高级篇 MVVM 附加属性