基于Windows Phone開(kāi)發(fā)的Silverlight常用控件詳解
針對(duì)Windows Phone應(yīng)用開(kāi)發(fā)的Silverlight工具包的最新版本已經(jīng)發(fā)布,該版本修復(fù)了開(kāi)發(fā)者在CodePlex上提交的大量Bug。
以下向大家介紹一下Windows Phone 7下使用Silverlight進(jìn)行開(kāi)發(fā)的各種常用控件和主要作用:
AutoCompleteBox提供一個(gè)文本框(用于放置用戶(hù)輸入)和一個(gè)下拉項(xiàng)(根據(jù)文本框中的輸入包含可能的匹配項(xiàng))。
Border為另一控件提供邊框和/或背景。一個(gè)邊框只能包含一個(gè)子元素。
Button提供一個(gè)單擊事件以響應(yīng)來(lái)自鼠標(biāo)、鍵盤(pán)、觸筆或其他輸入設(shè)備的用戶(hù)輸入。
Calendar提供一個(gè)圖形 UI 以供用戶(hù)選擇日期。它一次顯示一個(gè)月份中的日期,并且還允許用戶(hù)從一個(gè)月份滾動(dòng)到另一個(gè)月份或切換到年視圖。
Canvas提供一個(gè)圖面用于在畫(huà)布的特定坐標(biāo)處顯示子元素。一個(gè)畫(huà)布可包含一個(gè)或多個(gè) UIElement 對(duì)象。有關(guān)更多信息,請(qǐng)參見(jiàn) Silverlight 布局系統(tǒng)。
CheckBox使用戶(hù)能夠選擇(選中)或清除(取消選中)某個(gè)選項(xiàng)。CheckBox 可以具有三種狀態(tài):選中、取消選中和不確定。使用 CheckBox 可以為用戶(hù)提供一個(gè)選項(xiàng)(例如"真/假"或"是/否"),也可以使用戶(hù)從選項(xiàng)列表中進(jìn)行選擇。CheckBox 是一個(gè) ContentControl。
ChildWindow提供可在父窗口之上顯示的一個(gè)窗口并且阻止與父窗口的交互。
ComboBox表示一個(gè)選擇控件,該控件組合一個(gè)不可編輯的文本框和一個(gè)彈出項(xiàng)。該彈出項(xiàng)包含一個(gè)允許用戶(hù)從列表中選擇某一項(xiàng)的列表框。
ContentControl表示包含一段任意類(lèi)型內(nèi)容的控件。許多控件都派生自 ContentControl 并且可以包含對(duì)象,如 Button 或Panel。
DataGrid提供一種靈活的方式來(lái)以行和列的形式顯示數(shù)據(jù)集合。內(nèi)置列類(lèi)型包括文本框列、復(fù)選框列和用于承載自定義內(nèi)容的模板列。內(nèi)置行類(lèi)型包括一個(gè)下拉詳細(xì)信息部分,可用于在單元格值下方顯示其他內(nèi)容。
DataPager提供一個(gè)用戶(hù)界面,以便對(duì)實(shí)現(xiàn) IPagedCollectionView 的數(shù)據(jù)集合進(jìn)行分頁(yè)。
DatePicker使用戶(hù)能夠通過(guò)將日期鍵入 TextBox 或使用下拉 Calendar 來(lái)選擇日期。
DescriptionViewer顯示說(shuō)明并跟蹤關(guān)聯(lián)控件的錯(cuò)誤狀態(tài)。
Frame支持導(dǎo)航到 Page 控件。
Grid提供一個(gè)由行和列組成的圖面來(lái)顯示子元素。定義 Grid 的行和列之后,可以向網(wǎng)格中的特定行或列指派對(duì)象??梢赃x擇顯示網(wǎng)格線(xiàn)。有關(guān)更多信息,請(qǐng)參見(jiàn) Silverlight 布局系統(tǒng)。
GridSplitter使用戶(hù)能夠在 Grid 控件的行或列之間重新分配空間。它表示一種用戶(hù)可以"抓取"和拖動(dòng)的圖形元素。GridSplitter 分配間隔時(shí)采用的方向和方式由管理其對(duì)齊方式的附加屬性以及 Grid 的行或列屬性決定。
HeaderedItemsControl表示包含一個(gè)項(xiàng)集合和一個(gè)標(biāo)頭的控件。
HyperlinkButton表示顯示超鏈接的按鈕控件。單擊后,HyperlinkButton 使用戶(hù)能夠訪(fǎng)問(wèn)同一 Web 應(yīng)用程序中的網(wǎng)頁(yè)或當(dāng)前應(yīng)用程序外部的網(wǎng)頁(yè)。
Image顯示 PNG 或 JPEG 格式的圖像。Image 控件可顯示具有 1 位、4 位或 8 位顏色深度的索引圖像,或者具有 24 位或 32 位顏色深度的真彩色圖像。
InkPresenter提供一個(gè)繪圖圖面以支持 Tablet PC 功能。InkPresenter 派生自畫(huà)布,可顯示一個(gè)或多個(gè) UIElement 對(duì)象和筆畫(huà)。
Label為關(guān)聯(lián)的控件顯示標(biāo)題、所需字段指示器和驗(yàn)證錯(cuò)誤指示器。
ListBox包含一個(gè)項(xiàng)集合。可通過(guò)將該控件綁定到數(shù)據(jù)源或通過(guò)顯示未綁定的項(xiàng)來(lái)填充該控件。列表框是一個(gè)項(xiàng)控件,這意味著您可以使用包含文本或其他控件的項(xiàng)來(lái)填充它。
MediaElement承載音頻或視頻內(nèi)容。MediaElement 控件提供了一個(gè)可在其圖面上顯示視頻(如果不存在視頻,則播放音頻)的矩形區(qū)域。
MultiScaleImage使用戶(hù)能夠打開(kāi)多分辨率圖像,可縮放和重新定位該多分辨率圖像以進(jìn)行更詳細(xì)的查看。MultiScaleImage用于Deep Zoom技術(shù)。
OpenFileDialog表示一個(gè)打開(kāi)的文件對(duì)話(huà)框,用戶(hù)使用該對(duì)話(huà)框可以選擇一個(gè)或多個(gè)文件。
Page封裝可由 Frame 導(dǎo)航到的內(nèi)容。
PasswordBox用于在單行和不換行的文本區(qū)域中輸入敏感或私有信息。您無(wú)法查看實(shí)際文本,而只能查看表示內(nèi)容的字符。
Popup在現(xiàn)有內(nèi)容之上覆蓋內(nèi)容。Popup 控件可用于臨時(shí)顯示完成特定任務(wù)所需的信息。彈出控件將始終顯示在現(xiàn)有內(nèi)容之上,但如果它上面打開(kāi)了另一個(gè)彈出控件,則前述說(shuō)法不成立。
ProgressBar指示操作進(jìn)度??梢允褂么丝丶?lái)顯示一般進(jìn)度或根據(jù)值而改變的進(jìn)度。
RadioButton使用戶(hù)可以從一組選項(xiàng)中選擇一個(gè)選項(xiàng)。可以通過(guò)將 RadioButton 控件放到父控件內(nèi)或者將每個(gè)RadioButton 的 GroupName 屬性設(shè)置為特定的組來(lái)對(duì) RadioButton 進(jìn)行分組。分組后,各個(gè)RadioButton 控件之間是互斥的。
RepeatButton表示從被按下到松開(kāi)之前重復(fù)引發(fā)其單擊事件的按鈕。RepeatButton 控件包含用于指定單擊重復(fù)之前的延遲以及兩次單擊之間的間隔的屬性。
RichTextBox表示支持格式化文本、超鏈接、內(nèi)聯(lián)圖像和其他豐富內(nèi)容的多格式文本編輯控件。
SaveFileDialog提供一個(gè)對(duì)話(huà)框,用戶(hù)使用該對(duì)話(huà)框可指定保存文件時(shí)使用的選項(xiàng)。
ScrollBar提供一個(gè)滾動(dòng)條,該滾動(dòng)條具有一個(gè)可滑動(dòng)的 Thumb,其位置對(duì)應(yīng)于某個(gè)值。ScrollBar 控件的方向可以是水平的,也可以是垂直的。
ScrollViewer封裝一段內(nèi)容,并提供最多兩個(gè) ScrollBar 控件來(lái)滾動(dòng)內(nèi)容視區(qū)。ScrollViewer 控件使您能夠設(shè)置視區(qū)相對(duì)于內(nèi)容的大小,以及設(shè)置是否顯示水平和垂直 ScrollBar 控件。
Slider使用戶(hù)可以沿著一條軌道移動(dòng) Thumb 控件以從一個(gè)值范圍中進(jìn)行選擇。
StackPanel提供一個(gè)圖面來(lái)沿水平或垂直線(xiàn)顯示子元素。有關(guān)更多信息,請(qǐng)參見(jiàn) Silverlight 布局系統(tǒng)。
TabControl提供一個(gè)選項(xiàng)卡式界面來(lái)顯示元素。將在 TabItem 中承載子元素。
TextBlock顯示少量文本內(nèi)容??梢允褂?Text 屬性來(lái)設(shè)置 TextBlock 的內(nèi)容?;蛘?,也可以將 Inlines 屬性設(shè)置為一個(gè) Inline 對(duì)象集合,例如 Run 或 LineBreak 對(duì)象。
TextBox用于獲取用戶(hù)輸入,也可用于顯示文本。文本框控件通常用于可編輯文本,但也可以設(shè)置為只讀。文本框可以顯示多個(gè)行,并且可以根據(jù)控件的大小自動(dòng)換行。
ToolTip使用彈出窗口為用戶(hù)提供有關(guān) UI 中某個(gè)元素的信息。
TreeView表示一個(gè)顯示分層數(shù)據(jù)的控件。
ValidationSummary在窗體上顯示驗(yàn)證錯(cuò)誤的摘要。
Viewbox提供一個(gè)控件,該控件可拉伸或縮放其內(nèi)容以填滿(mǎn)可用空間。
VirtualizingStackPanel提供用于排列屏幕中可見(jiàn)內(nèi)容的堆疊面板控件,可根據(jù)需要?jiǎng)?chuàng)建其他 UI 項(xiàng)。
WebBrowser當(dāng)應(yīng)用程序在瀏覽器外承載時(shí)為顯示 HTML 內(nèi)容提供圖面。