文章来源:摘译自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更瘦。