控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能,控件创建过程包括设计、开发、调试(就是所谓的3Ds开发流程,即Design、Develop、Debug)工作,然后是控件的使用。开发者应该掌握的三项主要内容是属性、事件和方法。
控件根据用途上可以分为四种:内容控件(Content Controls)、条目控件(Items Controls)、文本控件(Text Controls)、范围控件(Range Controls)。
根据创建方式不同,可以分为常用控件(一般指原生)、扩展控件(继承于原有控件,进行功能扩展,例如TextBox添加水印文字)、自定义控件(原来没有,根据功能创造一个控件,继承于Control或上面提到的四种)、用户控件(对基础控件--前面提到的功能单一的控件进行组合,形成一个具有封装性的功能集合)。
1、内容控件
内容控件的最大的特征就是有一个Content属性,我们多多少少也知道Content接收的是一个Object类型,或许我们会立即想到莫非Button就是一个内容控件,确实,Button算是一个内容控件,凡是内容控件都继承自ContentControl,因为Content属性就是属于ContentControl。下面是Button的类图。