- Silverlight 2完美征程
- 李會軍著
- 785字
- 2019-01-10 14:27:15
2.1 控件模型概述
Silverlight 2內置的控件支持豐富的控件模板模型。
Silverlight 2中所有的控件類都是FrameworkElement的子類,根據控件的派生關系不同,可以把它們分為如下幾類。
◆ 面板控件:這類控件由Panel類派生,如Canvas、Grid控件等。
◆ 內容控件:這類控件由ContentControl類派生,提供了Content屬性,用于定制控件的內容,如Button控件等。
◆ 列表控件:這類控件由ItemsControl類派生,經常用于顯示數據的集合,如ComboBox、ListBox控件等。
◆ 普通控件:它們直接派生于Control類,自定義控件時也經常會從Control類派生,如TextBox、PasswordTextBox控件等。
◆ 其他控件:這類控件并不由Control類派生,而是直接派生于FrameworkElement類,如Image控件等。
它們之間的派生關系如圖2-1所示。

圖2-1
Silverlight提供了可執行許多功能的客戶端控件,可通過比較控件的功能來為您的方案選擇合適的控件。根據控件功能的不同,它們又可以劃分為如下幾類。
◆ 命令控件:響應來自鼠標、鍵盤、手寫筆或其他輸入設備的用戶輸入,并引發Click事件,如Button、HyperlinkButton控件等。
◆ 文本編輯控件:提供用于編輯或顯示文本的控件,如TextBox、PasswordBox控件。
◆ 選擇控件:使用戶可以從多個預設置的值集合中選擇一項或多項,如CheckBox、RadioButton控件等。
◆ 列表控件:用于展示列表集合或讓用戶從列表集合中選擇。
◆ 日期控件:可用于顯示或供用戶選擇日期,包括Calendar、DatePicker控件。
◆ 信息顯示控件:用于顯示少量的文字信息或報告當前操作的進度,如TextBlock、ProgressBar控件。
◆ 數據顯示控件:以表格的形式顯示數據集合,只有DataGrid控件支持此功能。
◆ 多媒體控件:用于顯示圖像、承載音頻或視頻,如Image、MediaElement控件等。
◆ 布局控件:用于對界面元素進行定位和布局,如Canvas、Grid控件等。
所有控件的功能雖然不同,但是Silverlight在設計之初,就考慮了控件模型的一致性,這樣便于我們在各個不同的控件之間執行一些相似的任務,包括:
◆ 創建控件的實例
◆ 使用屬性更改單個控件的外觀
◆ 使用樣式更改多個控件的外觀
◆ 使用模板為控件創建自定義外觀
◆ 處理控件事件
下面將按照控件的不同功能,詳細介紹它們的使用方法,其中部分控件會放到本書后面的章節中介紹。