附加属性是说一个属性本来不属于某个对象,但由于某种需求而被后来附加上。也就是把对象放入一个特定环境后对象才具有的属性(表现出来就是被环境赋予的属性)就称为附加属性(Attached Properties)。
附加属性的作用就是将属性与数据类型(宿主)解耦,让数据类型的设计更加灵活。
附加属性的本质就是依赖属性,二者仅在注册和包装器上有一点区别。
- class School : DependencyObject
- {
- public static int GetGrade(DependencyObject obj)
- {
- return (int)obj.GetValue(GradeProperty);
- }
- public static void SetGrade(DependencyObject obj, int value)
- {
- obj.SetValue(GradeProperty, value);
- }
- public static readonly DependencyProperty GradeProperty =
- De