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