Silverlight概论
Sliverlight能够创建运行于客户端的交互式内容,它对动态图片,媒体以及动画的支持要远高于html.
一,理解sliverlight
1,1Silverlight特性
A,广泛的浏览器支持
B,轻量
C,二维图形
D,动画
E,媒体
F,CLR
G,和web服务交互
1,2silverlight的应用范围
多数情况下应用时为了增强网站的现有内容
它不支持win2000,win98,winme
1,3silverlight和wpf
它是wpf的一个子集
1,4安装silverlight和visualstudio扩展
二,创建silverlight项目
Visualstudio为开发Silverlight提供了2中方式
A,创建一个Silverlight项目
B,在asp.netweb窗体上使用xaml控件
2,1html入口页面
2,2Silverlight初始化脚本
2,3xaml页面
2,4xaml代码隐藏页
Xaml标记在客户端由silverlight引擎通过微缩版本的clr解析,最终的内容通过嵌入在页面的特殊的Silverlight空间呈现
2,5属性和时间
有时候要设置对象属性,通过一个特殊的嵌入元素语法来解决
Silverlight元素支持相对较少的事件,包括GotFocus,KeyDown,KeyUp,Loaded,LostFocus,MouseEnter,MouseLever,MouseLeftButtonDown,MouseLeftButtonUp,MouseMove.没有高级的Click事件。
2,6编译silverlight
宿主silverlight应用程序时,web服务器必须配置为允许请求两种新类型文件:xaml和.dll
三,Silverlight本质
3,1silverlight中的.netframework类
Mscorlib.dll包含.netframework大多数的基础部分
System.dll包含其他泛型集合,处理uri的类及处理正则表达式的类
System.core.dll包含对linq的支持
System.silverlight.dll包含和html元素交互的类、一个和隔离存储区一起工作的OpenFileDialog,以及用于发送http请求的类。
System.Xml.core.dll包含处理xml所需的最少的类
Agclr.dll包含SilverlightUI类。
3,2Canvas
3,3文本TextBlock元素
有时候会希望格式TextBlock的一部分,可以用Run
可以使用LineBreak元素强制换行
3,4和html交互
实现这些功能的类在程序集System.Silverlight.dll里,位于System.Windows.Browser命名空间中。为了能够访问这些类,你需要使用HtmlPage辅助类。主要静态成员有
A,BrowserInformation:浏览器信息
B,cookie:读取或设置cookie
C,CurrentBookmark:返回URI字符串中可选的书签部分
D,Document:返回当前的HTML文档
E,DocumentUri:把当前文档的URL以URI形式返回
F,QueryString:把URL中的查询字符串部分以一个长字符串形式返回
G,Window:返回一个代表当前浏览器窗口的HtmlObject对象
H,Navigate():把浏览器送到另一个页面
I,NavigateToBookmark():滚动到当前页面的特定书签处
J,Submit():提交页面
可以在Silverlight中使用SetProperty()方法设置HtmlDom属性
相反,需要你在Silverlight里通过HtmlElement.AttachEvent()方法关联事件处理程序
当你希望把Silverlight事件连接到某个JavaScript方法上,可以使用Scripttable特性
3,5隔离存储
隔离存储允许你把数据写到一个较小、用户指定且与应用程序相关的空间槽里,可用空间大小是512kb.可以使用System.IO.IsolatedStorage命名空间里的类型操作
四,Silverlight和ASP.NET
4,1Asp.netfutures
Xaml和media控件
4,2Silverlight和ASP.Net之间的通信
Cookie和查询字符串
Asp.netweb服务和WCF
五,绘制二维图形
5,1简单形状
Rectangle,Ellipse,Line,Polyline,Ploygon,Path
5,2路径和几何图形
Path能够包含所有的简单形状、对形状进行组合,甚至绘制曲线这样复杂的元素
Path类只有一个属性data,它接收一个定义路径包含的形状的Geometry对象。
A,线、矩形以及椭圆几何图形
B,通过GeometryGroup复合形状
C,PathGeometry的曲线和线条
D,直线
E,弧
F,贝塞尔曲线
5,3刷子
Background,Foreground,Fill和Stroke属性使用同一种颜色对象:Brush对象
A,SolidColorBrush:用一种颜色绘制区域
B,LinearGradientBrush:以渐变的方式绘制区域
C,RadialGradientBrush:以射线渐变的方式绘制区域
F,ImageBrush:使用突变来绘制某个区域
G,VideoBrush:使用视频的帧绘制某个区域
5,4透明度
A,设置Opacity属性
B,使用半透明色
C,设置OpacityMask属性
六,动画
6,1动画基础
Silverlight执行基于时间的动画
Silverlight使用一个基于属性的动画模型
为了驱动某个属性类,你必须有一个支持它的数据类型(Double,Color和Point)的动画类
6,2定义动画
一个执行动画的动画对象(Animation类)
一个管理动画的故事板(Storyboard类)
一个启动故事板的事件触发器(BeginStoryboard)
6,3变换(Transform类)
A,TranslateTransform:按一定数值平移坐标系统
B,RotateTransform:旋转坐标系统
C,ScaleTransform:缩放坐标系统
D,SkewTransform:通过倾斜一定角度扭曲坐标系统
F,MatrixTransform:根据矩阵使用矩阵乘法改变坐标系统
G,TransformGroup:组合多个变换
通过指定元素的RenerTransform属性设置为要使用的变换对象