Silverlight中内置了一套非常邪恶的控件,可以为开发人员和美工设计人员用来快速构建富客户端应用程序。内置的控件支持丰富的控件模板,允许开发人员和美工设计人员一起合作建造绚丽的解决方案。下面就来说说这些控件~
这里就先说说控件模型的概述
Silverlight中所有的控件类都是FrameworkElement的子类
根据控件派生的关系可以分为下面几类:
面板控件:由Panel类派生,比如Canvas、Grid等。
内容控件:由ContentControl类派生,提供Content属性,用于定制控件内容,比如Button.
列表控件:由ItemsControl类派生,用于显示数据集合,比如ComboBox、ListBox.
普通控件:直接由Control类派生,自定义控件时也会从Control类派生,比如TextBox
其他控件:不由Control类派生,而直接由FrameworkElement类派生,比如Image。
根据控件功能来分又可以分为以下几类:
命令控件:响应来自输入设备(比如鼠标、键盘),并引发Click事件,比如Button
文本编辑控件:提供用于编辑或显示文本的空间,比如TextBox.
选择控件:使用户可以从多个预设值的值集合中选择一项或多项,比如CheckBox
列表控件:用于展示列表或让用户从列表集合中选择。
日期控件:用于显示或提供用户选择日期,比如Calendar
信息显示控件:用于显示少量文字信息或报告当前操作进度,比如TextBlock
数据显示控件:以表格的形式显示数据集合,只有DataGrid控件支持这个。
多媒体控件:用于显示图像、音频、视频,比如Image
布局控件:用于对界面元素进行定位和布局,比如Canvas、Grid
虽然控件的分类比较复杂,但Silverlight在设计的时候就考虑了控件模型的一致性,这样我们在各个不同的控件之间执行一些相似的任务,比如:
创建控件的实例;
使用属性更改单个或多个控件的外观;
使用模板对控件创建自定义外观;
处理控件事件;
下面就按功能的分类来一个一个的说这些控件,目录如下(点击控件名称直接跳转其详细页面):
命令控件
命令控件都属于内容控件,派生于ContentControl类
Button控件:响应来自鼠标、键盘、手写笔或其他输入设备的用户输入,并引发Click事件。
RepeatButton控件:表示从按下鼠标到松开之间重复引发其单击事件的按钮。
HyperlinkButton控件:表示显示超链接的按钮控件,单击后用户将转到同一Web应用程序中的某个网站或当前程序外部的网页。