WP開發:XAML代碼創建及屬性設置
XAML提供了一種便于擴展和定位的語法來定義和程序邏輯分離的用戶界面,而這種實現方式和ASP.NET中的"代碼后置"模型非常類似。XAML是一種解析性的語言,盡管它也可以被編譯。它的優點是簡化編程式上的用戶創建過程,應用時要添加代碼等。
用文本編輯器打開一個XAML文件,會發現一個XAML文件只有一個元素作為根,這個根是應用程序整個運行時的對象圖。在這個根下,可以采用3種方式來聲明對象以構建一個有意義的XAML文件。接下來介紹一下XAML文件的結構和對象:
1.直接使用對象元素語法
如果objectName是一個需要實例化的類型名稱,納悶可以用如下代碼創建對象:
- <objectName>
- </objectName>
一般一個對象還包括其他對象,那么可以這樣表示:
- <objectName>
- <otherobjectName>
- </otherobjectName>
- </objectName>
為了方便,也可以省略成如下形式:
- <objectName>
- <otherobjectName/>
- </objectName>
2.使用屬性語法設置屬性
如果objectName是要實例化的對象,propertyName是要設置的屬性名稱,propertyValue是要設置的屬性的值。那么應該使用的代碼如下所示:
- <objectName propertyName="propertyValue".../>
或者:
- <objectName propertyName="propertyValue">
- ...<-element children-->
- </objectName>
3.標記擴展
標記擴展是一個XAML屬性語法,采用花括號({和})表示標記擴展。此方法可以講屬性值不僅僅看做一段字符或者文本,分析器會調用適用該特定標記擴展的代碼,從而在標記中構造對象。
這種方法被廣泛用于數據綁定上,比如:
- <Grid x>:Name="LayoutRoot"Background="White">
- <ComboBox ItemsSource="{Binding ElementName=LayoutRoot}"/>
- </Grid>
以上代碼將ComboBox的Itemssource屬性的值綁定為Layoutroot。