Wpf 附加属性(Attached Properties)
来源:互联网 发布:滑板鞋 知乎 编辑:程序博客网 时间:2024/05/16 13:01
附加属性是说一个属性本来不属于某个对象,但由于某种需求而被后来附加上。也就是把对象放入一个特定环境后对象才具有的属性(表现出来就是被环境赋予的属性)就称为附加属性(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 =
- DependencyProperty.RegisterAttached("Grade",
typeof(int), typeof(School), new UIPropertyMetadata(0)); - }
GradeProperty就是一个DependencyProperty类型成员变量,声明时一样使用public static readonly三个关键字共同修饰。唯一的不同就是注册附加属性使用的是名为RegisterAttached的方法,但参数却与使用Register方法无异。附加属性的包装器也与依赖属性不同--依赖属性使用CLR属性对GetValue和SetValue两个方法进行包装,附加属性则使用两个方法分别进行包装--这样做完全是为了在使用的时候保持语句行文上的通畅
- class Human : DependencyObject
- {
- }
- Human human = new Human();
- School.SetGrade(human, 6);
- int grade = School.GetGrade(human);
- MessageBox.Show(grade.ToString());
- Wpf 附加属性(Attached Properties)
- #98 – How Attached Properties Work in WPF(附加属性在WPF中如何工作)
- 附加属性(Attached Properties)基础
- WPF(附加属性)
- (WPF)附加属性
- WPF的Attached属性
- Customized Attached Property 附加属性
- WPF Silverlight 附加属性(AttachedProperty)
- WPF(附加属性 Slider)
- WPF 自定义附加属性
- WPF 附加属性
- WPF 附加属性
- WPF属性(二)附加属性
- WPF菜鸟谈之依赖属性,附加属性(附加《深入浅出WPF》pdf下载)
- #155 – Implementing an Attached Dependency Property(如何实现附加属性)
- 谈WPF中的附加属性
- Attached Properties
- WPF:依赖属性和附加属性示例
- 女性技术管理者更能精准把握人际关系
- Workflow(IBatis)
- 将 Flex 3 应用程序迁移到 Flex 4
- ubuntu10.10下vim的解决方法
- SilverLight4:在MVVM架构下实现模式窗口
- Wpf 附加属性(Attached Properties)
- 政协委员建议政府补贴鼓励女性回归家庭
- 正弦函数的泰勒级数
- Source Insight Marco研究(语法篇)
- SQL注入语句(大全)
- linux eclipse出错-failed to load the jni shared
- php数组
- 算法数据结构面试题——标记数组在矩阵特征识别中的应用
- Flex3绑定