自項目轉換到Silverlight 4后,經常會在開發過程中發現一些變動,有類庫引用的改變,有XAML的改變等等,這些變化不僅僅給開發人員帶來了便攜的開發方式,同時也提高了開發效率。今天,總結一些Silverlight 4中XAML解析的變化。
1. 控件內容直接顯示;
相信大家還記得,在Silverlight 3版本中,控件的文本內容,通常都是使用一個屬性來表示,例如:
< CheckBox Content ="我是CheckBox" ></ CheckBox >
< TextBlock Text ="顯示文本" ></ TextBlock >
< Button Content ="點擊提交" ></ Button >
而以上的表達方式和WPF的XAML語法表達方式是不一致的,項目移植時會出現異常。在Silverlight 4中,XAML在支持Silverlight 3版本格式的同時,還增加了新的表示方法,如下:
< CheckBox > 我是CheckBox </ CheckBox >
< TextBlock > 顯示文本 </ TextBlock >
< Button > 點擊提交 </ Button >
2. 文本空格顯示控制
在Silverlight 3中,XAML語法解析顯示文本空格,當輸入文本如下代碼:
< TextBox >
< TextBox.Text >
這是Silverlight3
China測試程序
測試空格.
</ TextBox.Text >
</ TextBox >
</ Grid >
則顯示結果如下:
而在Silverlight 4中,XAML語法解析器允許開發人員控制文本空格的輸出,在支持Silverlight 3版本格式下,進行了改進。如以上相同代碼,在Silverlight 4中顯示效果如下:
如果你想在Silverlight 4中實現Silverlight 3的輸出效果,可以使用xml:space="Preserve",即可。
< TextBox xml:space ="preserve" >
< TextBox.Text >
這是Silverlight3
China測試程序
測試空格.
</ TextBox.Text >
</ TextBox >
</ Grid >
3. 支持XAML自定義IDictionaries
Silverlight 3中,x:Key僅支持添加對象資源如下:
< object x:Key ="stringKeyValue" ... />
</ object.Resources >
在Silverlight 4中,允許開發人員添加任何類型和屬性的成員到Dictionary。這對于復雜的XAML項目有很大的幫助,無論是性能上,還是使用上。詳細請看MSDN: http://msdn.microsoft.com/en-us/library/cc189012(VS.95).aspx
< object x:Key ="stringKeyValue" ... />
</ customIDictionary >
4. 命名空間的引用簡潔化
在Silverlight早期版本,如果使用不同的類庫或者是使用不同版本的Silverlight Toolkit,開發人員必須在每個頁面頭部定義指定的命名空間。Silverlight 4中,支持XmlnsDefinitionAttribute映射指定命名空間類庫,允許開發人員定義統一的共享名稱,方便類庫命名空間引用,減少代碼輸入。詳細可以參考MSDN: http://msdn.microsoft.com/en-us/library/system.windows.markup.xmlnsdefinitionattribute(v=VS.95).aspx
5. XAML錯誤異常輸入
在早期Silverlight開發過程中,XAML異常信息提示是最薄弱,也是Silverlight官方論壇投訴最多的一部分。Silverlight 4中增加許多XAML異常錯誤信息提示,以及具體錯誤信息描述,這點和WPF開發環境很相似。
相信Silverlight 4中XAML的解析變化還有很多,如果您在開發中有所領悟,希望您能夠分享給我,我會繼續更新本文,讓更多朋友了解Silverlight 4.
歡迎加入專注Silverlight QQ討論群,一起學習討論Silverlight技術。
超級群(500人未滿)32679922
高級群(200人未滿)23413513
超級群(500人滿)22308706
超級群(500人滿)37891947
高級群(200人滿)100844510
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
