谈WPF中的附加属性
来源:互联网 发布:mysql手工注入 编辑:程序博客网 时间:2024/05/16 16:02
附加属性,顾名思义,就是一个原本不属于某个对象,但是由于某种需要或环境,而附加在一个对象上的属性,
也就是把对象放入一个特定的环境下,对象才会拥有的属性,成为附加属性。
在实际的开发中,在设计数据库关系或实体类的时候就会遇到这样的问题。
例如,有个Student的类,他会有属性来标记他所在的学校、班级、年级,
public class Student
{
string ID;
string Name;
string classID;
string schoolID;
string MajorID;
}
假如他去找实习,那么这个类就要进行扩展,加入他实习所在部门ID;
public class Student
{
string ID;
string Name;
string classID;
string schoolID;
string MajorID;
string DepartmentID;
}
也就是说只要环境一有所变化,那么这个类的实现就要做改变,
而且如果有些学生没有出去实习,那么这个DepartmentID所占的内存就被浪费掉了。
再举个例子。
在WPF中我们常用的textbox 控件,它可以放置在stackpanel,dockpanel,grid中,分别放置在这些容器时,需要有属性设置Textbox 放置的位置,
stackpanel最省事,但是放置在dockpanel时,就需要设置dockpanel.dock属性,放置在grid中需要设置grid.row,grid.column,
而作为Textbox的最初设计者,他压根不知道控件将会放在什么地方,
所以根本不会准备属性去存放以上所提到的属性的值,但这些属性是必须要设的啊,怎么办呢?
能不能在控件被使用的过程中,再去附加一些属性值呢,这就是附加属性啦。
附加属性的作用,就是将属性和宿主剥离开,让数据类的实现更加灵活。
附加属性如何定义,就不用多说了,任何一本讲wpf的都有详细讲解。
这里想要提到一个与依赖属性不同的地方,依赖属性将一个和依赖属性同名的属性(去掉Property),包装成CLR属性。
附加属性的包装器是使用两个静态的方法分别包装Get属性和Set属性两个方法。
- 谈WPF中的附加属性
- WPF(附加属性)
- WPF(附加属性 Slider)
- WPF 自定义附加属性
- WPF 附加属性
- (WPF)附加属性
- WPF 附加属性
- WPF属性(二)附加属性
- WPF菜鸟谈之依赖属性,附加属性(附加《深入浅出WPF》pdf下载)
- WPF:依赖属性和附加属性示例
- WPF:依赖属性和附加属性示例
- WPF 依赖属性和附加属性区别
- WPF技巧(2)绑定到附加属性
- Wpf 附加属性(Attached Properties)
- WPF Silverlight 附加属性(AttachedProperty)
- WPF之CLR属性、依赖属性、附加属性
- WPF中的事件(三)- 附加事件
- WPF学习系列023: 3.2.5 附加属性
- 【Activiti 基础篇三】流程定义—CRUD操作
- bind2nd的使用方法
- [Android]对MVC和MVP的总结
- 2013工作总结
- 常用图标及启动页尺寸大小
- 谈WPF中的附加属性
- pip安装python包出现Cannot fetch index base URL http://pypi.python.org/simple/
- jffs2镜像在Linux系统下挂载
- 神经网络 调节参数
- 【已解决】gradle proxy代理设置异常
- JNDI是什么,有什么用
- SSL建立连接2
- 第一章 SpringMVC之 基础知识及代码
- 配置文件中的DTD理解