Silverlight 4中XAML解析的變化
與Silverlight 3相比,Silverlight 4給我們帶來了很多開發(fā)的新特性,開發(fā)者也經(jīng)常會在開發(fā)過程中發(fā)現(xiàn)一些變化,有類庫引用的改變,有XAML的改變等等,這些變化不僅僅給開發(fā)人員帶來了便攜的開發(fā)方式,同時也提高了開發(fā)效率。
關(guān)于Silverlight 4更多內(nèi)容,51CTO推薦專題: 一步一步學(xué)Silverlight
1. 控件內(nèi)容直接顯示
相信大家還記得,在Silverlight 3版本中,控件的文本內(nèi)容,通常都是使用一個屬性來表示,例如:
- <TextBox Text="文本框"></TextBox>
- <CheckBox Content="我是CheckBox"></CheckBox>
- <TextBlock Text="顯示文本"></TextBlock>
- <Button Content="點擊提交"></Button>
而以上的表達方式和WPF的XAML語法表達方式是不一致的,項目移植時會出現(xiàn)異常。在Silverlight 4中,XAML在支持Silverlight 3版本格式的同時,還增加了新的表示方法,如下:
- <TextBox>文本框</Button>
- <CheckBox>我是CheckBox</CheckBox>
- <TextBlock>顯示文本</TextBlock>
- <Button>點擊提交</Button>
2. 文本空格顯示控制
在Silverlight 3中,XAML語法解析顯示文本空格,當(dāng)輸入文本如下代碼:
- <Grid x:Name="LayoutRoot">
- <TextBox>
- <TextBox.Text>
- 這是Silverlight 3
- China測試程序
- 測試空格.
- </TextBox.Text>
- </TextBox>
- </Grid>
則顯示結(jié)果如下:
而在Silverlight 4中,XAML語法解析器允許開發(fā)人員控制文本空格的輸出,在支持Silverlight 3版本格式下,進行了改進。如以上相同代碼,在Silverlight 4中顯示效果如下:
如果你想在Silverlight 4中實現(xiàn)Silverlight 3的輸出效果,可以使用xml:space="Preserve",即可。
- <Grid x:Name="LayoutRoot">
- <TextBox xml:space="preserve">
- <TextBox.Text>
- 這是Silverlight 3
- China測試程序
- 測試空格.
- </TextBox.Text>
- </TextBox>
- </Grid>
3. 支持XAML自定義IDictionaries
Silverlight 3中,x:Key僅支持添加對象資源如下:
- <object.Resources>
- <object x:Key="stringKeyValue".../>
- </object.Resources>
在Silverlight 4中,允許開發(fā)人員添加任何類型和屬性的成員到Dictionary。這對于復(fù)雜的XAML項目有很大的幫助,無論是性能上,還是使用上。詳細請看MSDN:http://msdn.microsoft.com/en-us/library/cc189012(VS.95).aspx
- <customIDictionary>
- <object x:Key="stringKeyValue".../>
- </customIDictionary>
4. 命名空間的引用簡潔化
在Silverlight早期版本,如果使用不同的類庫或者是使用不同版本的Silverlight Toolkit,開發(fā)人員必須在每個頁面頭部定義指定的命名空間。Silverlight 4中,支持XmlnsDefinitionAttribute映射指定命名空間類庫,允許開發(fā)人員定義統(tǒng)一的共享名稱,方便類庫命名空間引用,減少代碼輸入。詳細可以參考MSDN:http://msdn.microsoft.com/en-us/library/system.windows.markup.xmlnsdefinitionattribute(v=VS.95).aspx
5. XAML錯誤異常輸入
在早期Silverlight開發(fā)過程中,XAML異常信息提示是最薄弱,也是Silverlight官方論壇投訴最多的一部分。Silverlight 4中增加許多XAML異常錯誤信息提示,以及具體錯誤信息描述,這點和WPF開發(fā)環(huán)境很相似。
文章轉(zhuǎn)自專注Silverlight的博客,
原文地址:http://www.cnblogs.com/jv9/archive/2010/06/01/1748738.html
【編輯推薦】