解析:Silverlight控件模型分類及XAML特性
XAML是Silverlight應(yīng)用端采用的語(yǔ)言,在Asp.NET項(xiàng)目中,元素的聲明、程序樣式的設(shè)置和指定事件處理程序都和HTML非常類似,所以,做Silverlight項(xiàng)目的先決條件是要掌握XAML:
使用XAML標(biāo)記可以創(chuàng)建可見(jiàn)的UI元素,并使用生成的對(duì)應(yīng)的后臺(tái)文件操作XAML聲明的對(duì)象。XAML可以說(shuō)是在XML的基礎(chǔ)上加上了特有的屬性元素語(yǔ)法以及內(nèi)容元素語(yǔ)法,再加上它是.Net環(huán)境下的產(chǎn)物,所以它的特性可以描述為以下幾點(diǎn):
XAML是以XML為基礎(chǔ)的語(yǔ)言擴(kuò)展;
XAML必須是格式良好的XML;
XAML中的標(biāo)記對(duì)應(yīng).Net Framework中的類型。
XAML具備面向?qū)ο蠹袄^承的特性;
XAML區(qū)分大小寫;
XAML中能實(shí)現(xiàn)的,通過(guò)后臺(tái)代碼同樣可以實(shí)現(xiàn);
XAML中也創(chuàng)建元素樹;
下面是一個(gè)使用XAML聲明的TextBox元素:

結(jié)合XAML的特性從上述代碼中可以看出平時(shí)寫代碼時(shí)容易出現(xiàn)的錯(cuò)誤:
TextBox如果大小寫錯(cuò)誤,則聲明失敗
TextBox是Silverlight提供的控件模型,如果拼寫錯(cuò)誤,則會(huì)找不到對(duì)應(yīng).Net Framework中的類型,報(bào)錯(cuò)
x:Name好比HTML中的ID,具有唯一標(biāo)識(shí)性
Margin好比CSS樣式語(yǔ)法,控制該控件與周圍各元素的間距
標(biāo)簽要求閉合,如果缺少則聲明失敗
學(xué)習(xí)XAML是個(gè)循序漸進(jìn)的過(guò)程,首先要了解基礎(chǔ)語(yǔ)法,才不會(huì)在編碼中犯低級(jí)錯(cuò)誤
Silverlight的控件模型
與Winform類似,Silverlight也擁有自身獨(dú)有的一套控件模型。里面除了TextBox、Button、ComboBox這樣的一些基本控件,還包括一些專門為RIA設(shè)計(jì)的控件,比如Silder、ProgressBar、TabControl。通過(guò)使用Silverlight Toolkit工具包,還可以擁有豐富的圖表控件。按照控件的功能特性可以分為如下幾類:
命令控件:響應(yīng)來(lái)自鼠標(biāo)、鍵盤、手寫筆或其他輸入設(shè)備的用戶輸入。如,Button、RepeatButton。
文本編輯控件:提供編輯或顯示文本的控件。如,TextBox、Password。(剛剛發(fā)布的Silverlight4包含RichTextBox控件^_^)
選擇控件:從多個(gè)預(yù)設(shè)值中選擇。如,CheckBox、RadioButton。
列表控件:用于展示列表集合。
日期控件:Canlendar和DatePicker。
信息顯示控件:顯示少量文字或報(bào)告當(dāng)前進(jìn)度。TextBlock(好比是Label)、ProgressBar。
數(shù)據(jù)顯示控件:DataGrid(這個(gè)以后會(huì)變成GridView么,呵呵)。
多媒體控件:用于顯示圖像、承載音頻或視頻。Image、MediaElement。
布局控件:Canvas、Grid控件。
所有控件類都是FrameworkElement的子類,我們可以通過(guò)XAML直接聲明這些封裝好的控件,也可以創(chuàng)建自己的用戶控件。