博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 附加属性
阅读量:7235 次
发布时间:2019-06-29

本文共 1019 字,大约阅读时间需要 3 分钟。

1、附加属性:一个属性原来不属于某个对象,但由于某种需求而被后来附加上去。附加属性的本质是依赖属性。

2、附加属性作用:将属性与数据类型解耦,让数据类型的设计的更加灵活。

3、VS 2008中,依赖属性的snippet是propdp,附加属性的snippet是propa,属性的snippet是prop。

4、举个例子,Human,School。Human中的一个人,他如果在学校里,就会有成绩等;如果在公司里,他就有部门等。此时的成绩和部门就是附加属性。

代码如下:School类

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));
}

Human类

class 
Human:DependencyObject
{
 
}

 附加属性的使用

private 
void 
Button_Click(
object 
sender, RoutedEventArgs e)
{
    
Human human =
new 
Human();
    
School.SetGrade(human, 6);
    
int 
grade = School.GetGrade(human);
    
MessageBox.Show(grade.ToString());
}

 5、当然附加属性也可以使用Binding依赖在其他数据对象上。

 

 

本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/10/29/2228430.html,如需转载请自行联系原作者

你可能感兴趣的文章
如何监控和保护Linux下进程安全
查看>>
linux kvm虚拟机配置及常见问题处理
查看>>
安装Heartbeat-glue,绝对全,自己亲自操作的。
查看>>
zip压缩工具、tar打包、打包并压缩
查看>>
接口中图片的接收
查看>>
android不要全屏保留状态栏
查看>>
java.lang.UnsupportedClassVersionError
查看>>
捕捉到的CRS错误提示
查看>>
Linux系统安装需要注意几处
查看>>
mysql读写分离
查看>>
创建远程git仓库
查看>>
linux 文件查找帮助命令 , 查看网络链接信息, 历史命令
查看>>
centos 分区扩容
查看>>
ActiveMQ Tips
查看>>
linux日常维护(网络相关,防火墙,netfirter介绍,netfirter语法)
查看>>
keepalived双机热备nginx
查看>>
深入Nginx优化
查看>>
Collections的简单学习
查看>>
简介Valgrind工具包功能
查看>>
Chrome开发者工具的小技巧
查看>>