附加属性的作用就是将属性与数据类型(宿主)解耦,让数据类型的设计更加灵活。其本质就是依赖属性,两者仅在注册和包装器上有一点区别。
附加属性
光标移动到类体中(花括号之间),输入propa + Tab + Tab,附加属性的框架就准备好了,继续 Tab + Tab 可以在几个空缺间轮换并修改,直至按下Enter。
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 =
DependencyProperty.RegisterAttached("Grade", typeof(int), typeof(school),
new UIPropertyMetadata(0));
}