文章來源:摘譯自Pro Silverlight for the Enterprise.
“銀光”(以下簡稱sl)是微軟下一代使用者界面WPF類庫的子集;sl與平台、浏覽器、裝置無關;
目前sl有四個版本,最新版本為sl4,本文主要探讨sl2;
sl架構如下圖
sl的展示核心是基于.net 3.5、wpf和xaml;
支援背景線程和異步通訊;
支援基于json的服務內建;(JSON-JavaScript Object Notation,is a lightweight data-interchange language-independent text format language. It is based on a subset of the JavaScript programming language,)
支援基于政策的開發和部署;
支援流媒體管理;
內建.net的可控的後置代碼;
支援使用者控件模闆,支援圖形和模拟動畫;
能夠與wcf和web service內建;
在sl中定義UI
增強的基礎xaml使用者控件,見下圖
分四部分:
布局管理xaml控件,Canvas/StackPanel/Grid;
表單xaml控件,TextBox/RadioButton/CheckBox;
資料操作xaml控件,DataGrid/ListBox;
功能xaml控件,Calendar/DataPicket/ScrollViewer/Slider.
可從http://www.codeplex.com/silverlight或者諸如ComponentOne/developerExpress來取得第三方的控件來進行擴充;
事件內建:可控代碼和腳本程式設計模型
xaml 是針對程式的使用者界面進行對象及相關特征/屬性定義的聲明性語言,也是微軟的統一界面語言(windows/web);x:Class是一個關鍵的特征(attribute)-如果不在xaml檔案的根元素級别定義x:Class,則不需要代碼後置檔案,且系統預設使用javascript;
資料綁定
sl的xaml控件具有資料綁定這樣的屬性,關聯方式有三種:OneTime/OneWay/TwoWay(OneTime用于在建立綁定時起作用,OneWay用于在源發生變化時起作用,TwoWay用于在源和目标發生變化時起作用.後兩者必須實作接口INotifyPropertyChanged-空間為System.ComponentModel)
資料綁定使用Binding屬性,例如:
<TextBlock Name = "Subject" Grid.Row = "0" Grid.Column = "0"
Text = "{Binding Path = Subject,Mode = OneWay}"/>
詳細可見:http://msdn.microsoft.com/en-us/library/cc278072(VS.95).aspx
工具:
Visual Studio/Expression Blend ..
小結:應該說sl與wpf的基礎機制是相同的,sl更瘦。