控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的 简单访问者,方法则是控件的一些简单而可见的功能、控件创建过程包括设计、开发、调试 (就是所谓的3Ds开发流程,即Design、Develop、Debug)工作, 然后是控件的使用。开发 者应该掌握的三项主要内容是:属性、事件和方法。
控件有很多,但是如果仔细去分析,也是有规律可循的,根据其作用,我 们可以把控件分为4类:布局控件(Panel)、内容控件(Content Controls)、条目控件(Items Controls)、文本控件(Text Controls)
- 布局控件(Panel):
是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排 列控件。其父类为Panel。
2、内容控件(Content Controls):
只能容纳一个控件或者布局控件作为他的内容。所以经常借助布局控件来规划其内容。其父类为ContentControl。
内容控件的最大的特征就是有一个Content属性,Content接收的是一个Object类型,或许我们会立即想到莫非Button就是一个内容控件,确实,Button算是一个内容控件,凡是内容控件都继承自ContentControl,因为Content属性就是属于ContentControl.
Button是继承自ButtonBase的,Button有个很有趣的地方就是ButtonBase中存在一个 ClickMode属性,触发方式在ClickMode中以枚举的方式展现,Hover,Press和Release, 默认也就是Press。
下面是Button的类图:
3、条目控件(Items Controls):
可以显示一列数据,一般情况下,是数据的类型是相同的。其共同的基 类为ItemsControl。 带标题的条目控件:和上面的带标题内容控件类同,其基类 为HeaderdeItemsControl。
条目控件首先都是继承自ItemsControl,在ItemsControl中我们发现有两个比较有意思的属性,Items和ItemsSource。Items属于ItemCollection的集合类型,所以每一个Item里面都可以放入一个Object类 型对象。ItemsSource用于绑定数据源。
下面是它的类图:
4、文本控件(Text Controls):
Windows文本控件用于获取用户输入或显示文本。文本控件 通常用于可编辑文本,不过也可使其成为只读控件。文本控件可以显示多个行,对文本换行使其符合控件的大小以及添加基本的格式设置。文本控件仅允许在其中显示或输入的文本采用一种格式。