基于Windows Phone开发的Silverlight常用控件详解

移动开发
Silverlight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与富交互(RIA,Rich Interface Application)的网络交互程序。

针对Windows Phone应用开发的Silverlight工具包的最新版本已经发布,该版本修复了开发者在CodePlex上提交的大量Bug。

以下向大家介绍一下Windows Phone 7下使用Silverlight进行开发的各种常用控件和主要作用:

AutoCompleteBox提供一个文本框(用于放置用户输入)和一个下拉项(根据文本框中的输入包含可能的匹配项)。

Border为另一控件提供边框和/或背景。一个边框只能包含一个子元素。

Button提供一个单击事件以响应来自鼠标、键盘、触笔或其他输入设备的用户输入。

Calendar提供一个图形 UI 以供用户选择日期。它一次显示一个月份中的日期,并且还允许用户从一个月份滚动到另一个月份或切换到年视图。

Canvas提供一个图面用于在画布的特定坐标处显示子元素。一个画布可包含一个或多个 UIElement 对象。有关更多信息,请参见 Silverlight 布局系统。

CheckBox使用户能够选择(选中)或清除(取消选中)某个选项。CheckBox 可以具有三种状态:选中、取消选中和不确定。使用 CheckBox 可以为用户提供一个选项(例如"真/假"或"是/否"),也可以使用户从选项列表中进行选择。CheckBox 是一个 ContentControl。

ChildWindow提供可在父窗口之上显示的一个窗口并且阻止与父窗口的交互。

ComboBox表示一个选择控件,该控件组合一个不可编辑的文本框和一个弹出项。该弹出项包含一个允许用户从列表中选择某一项的列表框。

ContentControl表示包含一段任意类型内容的控件。许多控件都派生自 ContentControl 并且可以包含对象,如 Button 或Panel。

DataGrid提供一种灵活的方式来以行和列的形式显示数据集合。内置列类型包括文本框列、复选框列和用于承载自定义内容的模板列。内置行类型包括一个下拉详细信息部分,可用于在单元格值下方显示其他内容。

DataPager提供一个用户界面,以便对实现 IPagedCollectionView 的数据集合进行分页。

DatePicker使用户能够通过将日期键入 TextBox 或使用下拉 Calendar 来选择日期。

DescriptionViewer显示说明并跟踪关联控件的错误状态。

Frame支持导航到 Page 控件。

Grid提供一个由行和列组成的图面来显示子元素。定义 Grid 的行和列之后,可以向网格中的特定行或列指派对象。可以选择显示网格线。有关更多信息,请参见 Silverlight 布局系统。

GridSplitter使用户能够在 Grid 控件的行或列之间重新分配空间。它表示一种用户可以"抓取"和拖动的图形元素。GridSplitter 分配间隔时采用的方向和方式由管理其对齐方式的附加属性以及 Grid 的行或列属性决定。

HeaderedItemsControl表示包含一个项集合和一个标头的控件。

HyperlinkButton表示显示超链接的按钮控件。单击后,HyperlinkButton 使用户能够访问同一 Web 应用程序中的网页或当前应用程序外部的网页。

Image显示 PNG 或 JPEG 格式的图像。Image 控件可显示具有 1 位、4 位或 8 位颜色深度的索引图像,或者具有 24 位或 32 位颜色深度的真彩色图像。

InkPresenter提供一个绘图图面以支持 Tablet PC 功能。InkPresenter 派生自画布,可显示一个或多个 UIElement 对象和笔画。

Label为关联的控件显示标题、所需字段指示器和验证错误指示器。

ListBox包含一个项集合。可通过将该控件绑定到数据源或通过显示未绑定的项来填充该控件。列表框是一个项控件,这意味着您可以使用包含文本或其他控件的项来填充它。

MediaElement承载音频或视频内容。MediaElement 控件提供了一个可在其图面上显示视频(如果不存在视频,则播放音频)的矩形区域。

MultiScaleImage使用户能够打开多分辨率图像,可缩放和重新定位该多分辨率图像以进行更详细的查看。MultiScaleImage用于Deep Zoom技术。

OpenFileDialog表示一个打开的文件对话框,用户使用该对话框可以选择一个或多个文件。

Page封装可由 Frame 导航到的内容。

PasswordBox用于在单行和不换行的文本区域中输入敏感或私有信息。您无法查看实际文本,而只能查看表示内容的字符。

Popup在现有内容之上覆盖内容。Popup 控件可用于临时显示完成特定任务所需的信息。弹出控件将始终显示在现有内容之上,但如果它上面打开了另一个弹出控件,则前述说法不成立。

ProgressBar指示操作进度。可以使用此控件来显示一般进度或根据值而改变的进度。

RadioButton使用户可以从一组选项中选择一个选项。可以通过将 RadioButton 控件放到父控件内或者将每个RadioButton 的 GroupName 属性设置为特定的组来对 RadioButton 进行分组。分组后,各个RadioButton 控件之间是互斥的。

RepeatButton表示从被按下到松开之前重复引发其单击事件的按钮。RepeatButton 控件包含用于指定单击重复之前的延迟以及两次单击之间的间隔的属性。

RichTextBox表示支持格式化文本、超链接、内联图像和其他丰富内容的多格式文本编辑控件。

SaveFileDialog提供一个对话框,用户使用该对话框可指定保存文件时使用的选项。

ScrollBar提供一个滚动条,该滚动条具有一个可滑动的 Thumb,其位置对应于某个值。ScrollBar 控件的方向可以是水平的,也可以是垂直的。

ScrollViewer封装一段内容,并提供最多两个 ScrollBar 控件来滚动内容视区。ScrollViewer 控件使您能够设置视区相对于内容的大小,以及设置是否显示水平和垂直 ScrollBar 控件。

Slider使用户可以沿着一条轨道移动 Thumb 控件以从一个值范围中进行选择。

StackPanel提供一个图面来沿水平或垂直线显示子元素。有关更多信息,请参见 Silverlight 布局系统。

TabControl提供一个选项卡式界面来显示元素。将在 TabItem 中承载子元素。

TextBlock显示少量文本内容。可以使用 Text 属性来设置 TextBlock 的内容。或者,也可以将 Inlines 属性设置为一个 Inline 对象集合,例如 Run 或 LineBreak 对象。

TextBox用于获取用户输入,也可用于显示文本。文本框控件通常用于可编辑文本,但也可以设置为只读。文本框可以显示多个行,并且可以根据控件的大小自动换行。

ToolTip使用弹出窗口为用户提供有关 UI 中某个元素的信息。

TreeView表示一个显示分层数据的控件。

ValidationSummary在窗体上显示验证错误的摘要。

Viewbox提供一个控件,该控件可拉伸或缩放其内容以填满可用空间。

VirtualizingStackPanel提供用于排列屏幕中可见内容的堆叠面板控件,可根据需要创建其他 UI 项。

WebBrowser当应用程序在浏览器外承载时为显示 HTML 内容提供图面。

责任编辑:佚名 来源: 天极网
相关推荐

2013-04-17 11:10:02

Windows PhoWindows Pho

2013-04-17 11:00:17

Windows PhoWindows Pho

2012-02-02 16:39:40

CheckBox控件源代码

2013-04-12 11:02:50

WWindowsPho

2012-02-02 16:35:42

Silverlight低级别触屏处理

2010-12-21 10:02:48

SilverlightWindows Pho

2012-05-25 09:09:25

Windows Pho

2013-04-17 14:19:51

Windows PhoWindows Pho

2010-06-11 16:01:26

Windows Pho

2010-12-01 13:40:13

枢轴控件Windows Pho

2010-08-06 15:44:28

Windows PhoWindows PhoSilverlight

2012-05-15 15:44:00

Silverlight

2010-12-01 13:55:29

地图插件Windows Pho

2010-08-10 13:21:41

Windows PhoWindows Pho

2012-08-13 09:56:45

Windows Pho

2012-08-09 13:39:22

Windows Pho

2010-12-01 09:50:21

全景视图Windows Pho

2013-04-19 10:14:24

2013-07-30 12:37:56

Windows PhoWindows Pho

2010-03-16 13:41:21

SilverlightMIX10
点赞
收藏

51CTO技术栈公众号