稳扎稳打Silverlight 2.0系列文章索引2010-04-26 博客园 webabcd在线DEMOhttp://www.cnblogs.com/webabcd/archive/2008/10/09/1307486.html1、2、3、介绍Silverlight 2.0 控件一览:Border, Button, Calendar, Canvas, CheckBox, ComboBox4、介绍Silverlight 2.0 控件一览:DataGrid, DatePicker, Grid, GridSplitter, HyperlinkButton, Image5、介绍Silverlight 2.0 控件一览:ListBox, MediaElement, MultiScaleImage, PasswordBox, ProgressBar, RadioButton6、介绍Silverlight 2.0 控件一览:ScrollViewer, Slider, StackPanel, TabControl, TextBlock, TextBox, ToggleButton7、介绍Silverlight 2.0 图形:Ellipse - 椭圆Line - 线Path - 一系列相互连接的直线和曲线Polygon - 多边形,闭合图形,起点与终点自动相连Polyline - 非闭合图形,一串连接起来的线,起点与终点不会自动相连Rectangle - 矩形8、介绍Silverlight 2.0 图形:基类System.Windows.Shapes.Shape(Ellipse, Line, Path, Polygon, Polyline, Rectangle都继承自抽象类System.Windows.Shapes.Shape)。Fill - 填充;Stroke - 笔画(边框)StrokeThickness - 笔画(边框)尺寸Stretch - 拉伸值StrokeDashArray - 虚线和间隙的值的集合StrokeDashCap - 虚线两端(线帽)的类型StrokeStartLineCap - 虚线起始端(线帽)的类型StrokeEndLineCap - 虚线终结端(线帽)的类型StrokeDashOffset - 虚线的起始位置。从虚线的起始端的 StrokeDashOffset 距离处开始描绘虚线StrokeLineJoin - 图形连接点处的连接类型StrokeMiterLimit - 斜接长度 与 StrokeThickness/2 的比值。默认值 10,最小值 19、介绍Silverlight 2.0 画笔:SolidColorBrush - 单色画笔ImageBrush - 图像画笔VideoBrush - 视频画笔LinearGradientBrush - 线性渐变画笔RadialGradientBrush - 放射性渐变画笔10、介绍Silverlight 2.0 其它:RenderTransform - 呈现位置的转换(System.Windows.Media.Transform类型)RenderTransformOrigin - 位置转换的中心点Clip - 容器的剪辑区域(System.Windows.Media.Geometry类型)IsHitTestVisible - 命中测试是否可见Opacity - 不透明度。0 - 1之间OpacityMask - 不透明蒙版(遮罩)(System.Windows.Media.Brush类型)UseLayoutRounding - 是否使用完整像素布局Cursor - 鼠标移动到 FrameworkElement 上面时,鼠标指针的样式Margin - 容器边缘与边缘之外的空白距离(像素值:上下左右;左右,上下;左,上,右,下)Tag - 保存一些额外的信息(System.Object类型)11、介绍Silverlight 2.0 动画:ColorAnimation - 在两个 Color 值之间做线性内插动画处理DoubleAnimation - 在两个 Double 值之间做线性内插动画处理PointAnimation - 在两个 Point 值之间做线性内插动画处理内插关键帧动画 - 在 Color 或 Double 或 Point 动画中内插关键帧,以做线性, 离散, 三次贝塞尔曲线的动画处理动态改变动画 - 通过程序控制,动态地改变动画12、介绍Silverlight 2.0 外观控制:样式(Style), 模板(Template), 视觉状态(VisualState)和视觉状态管理器(VisualStateManager)13、介绍Silverlight 2.0 人机交互:响应用户的鼠标操作和键盘操作。MouseEnter - 鼠标进入时触发的事件(显然,此事件不能冒泡)MouseLeave - 鼠标离开时触发的事件(显然,此事件不能冒泡)MouseLeftButtonDown - 鼠标左键单击按下时触发的事件MouseLeftButtonUp - 鼠标左键单击按下并放开时触发的事件MouseMove - 鼠标移动时触发的事件MouseEventArgs.GetPosition() - 鼠标相对于指定元素的坐标MouseButtonEventArgs.Handled - 此事件是否已被处理KeyDown - 鼠标按下时触发的事件KeyUp - 鼠标按下并放开时触发的事件KeyEventArgs.Key - 与事件相关的键盘的按键 [Input.Key枚举]KeyEventArgs.Handled - 是否处理过此事件Keyboard.Modifiers - 当前按下的辅助键 [Input.ModifierKeys枚举]14、介绍Silverlight 2.0 人机交互:InkPresenter(涂鸦板)。InkPresenter - 涂鸦板,也就是在面板上呈现墨迹。InkPresenter 可以包含子控件Cursor - 鼠标移动到 InkPresenter 上面时,鼠标指针的样式Background - 涂鸦板背景Opacity - 面板上墨迹的不透明度Clip - InkPresenter 的剪辑区域Stroke.DrawingAttributes - Stroke(笔划)的外观属性UIElement.CaptureMouse() - 为 UIElement 对象启用鼠标捕捉UIElement.CaptureMouse() - 为 UIElement 对象释放鼠标捕捉15、介绍Silverlight 2.0 数据绑定:Binding - 将绑定目标对象的属性与数据源联接起来INotifyPropertyChanged - 向客户端发出某一属性值已更改的通知IValueConverter - 值转换接口,将一个类型的值转换为另一个类型的值。它提供了一种将自定义逻辑应用于绑定的方式BindingValidationError - 出现验证错误或解决上次验证错误则触发此事件16、介绍Silverlight 2.0 数据的独立存储(Isolated Storage):IsolatedStorageFile - 操作 独立存储 的类;IsolatedStorageFile.GetUserStoreForSite() - 按站点获取用户的独立存储IsolatedStorageFile.GetUserStoreForApplication() - 按应用程序获取用户的独立存储IsolatedStorageSettings - 在独立存储中保存的 key-value 字典表IsolatedStorageSettings.SiteSettings - 按站点保存的 key-value 字典表IsolatedStorageSettings.ApplicationSettings - 按应用程序保存的 key-value 字典表17、介绍Silverlight 2.0 详解DataGrid, 绑定数据到ListBox:AutoGenerateColumns - 是否根据数据源自动生成列RowDetailsVisibilityMode - 显示相应的行的详细数据时所使用的显示模式DataGrid.RowDetailsTemplate - 用于显示相应的行的详细数据的模板AreRowDetailsFrozen - 是否冻结 RowDetailsTemplateGridLinesVisibility - 表格分隔线的显示方式RowBackground - 奇数数据行背景AlternatingRowBackground - 偶数数据行背景IsReadOnly - 单元格是否只读FrozenColumnCount - 表格所冻结的列的总数(从左边开始数)SelectionMode - 行的选中模式CanUserReorderColumns - 是否允许拖动列CanUserResizeColumns - 是否允许改变列的宽度CanUserSortColumns - 是否允许列的排序18、介绍Silverlight 2.0 详解MediaElement:开发一个简易版的全功能播放器。Source - 需要播放的媒体地址Stretch - 拉伸值AutoPlay - 是否自动播放媒体CurrentState - 播放状态Position - 媒体的位置DroppedFramesPerSecond - 媒体每秒正在丢弃的帧数BufferingProgress - 缓冲进度DownloadProgress - 下载进度NaturalDuration - 媒体文件的时长;Volume - 音量大小Balance - 音量平衡BufferingTime - 需要缓冲的时间的长度CurrentState - 播放状态IsMuted - 是否静音Play() - 播放媒体Pause() - 暂停媒体的播放Stop() - 停止媒体的播放19、介绍Silverlight 2.0 调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据。通过 System.Net.WebClient 类调用 REST 服务通过 System.Json 命名控件下的类处理 JSON 数据通过 System.Xml.Linq 命名空间下的类(LINQ to XML)处理 XML 数据通过 System.ServiceModel.Syndication 命名空间下的类处理 RSS/ATOM 数据20、介绍Silverlight 2.0 详解WebClient,以字符串的形式上传、下载数据;以流的方式上传、下载数据。WebClient - 将数据发送到指定的 URI,或者从指定的 URI 接收数据的类DownloadStringAsync(Uri address, Object userToken) - 以字符串的形式下载指定的 URI 的资源UploadStringAsync(Uri address, string data) - 以字符串的形式上传数据到指定的 URI。所使用的 HTTP 方法默认为 POSTOpenReadAsync(Uri address, Object userToken) - 以流的形式下载指定的 URI 的资源OpenWriteAsync(Uri address, string method, Object userToken) - 打开流以使用指定的方法向指定的 URI 写入数据21、介绍Silverlight 2.0 详解WebRequest和WebResponse,对指定的URI做GET和POST请求,以及接收其响应。HttpWebRequest - 对指定的 URI 发出请求Create() - 初始化一个 WebRequestBeginGetResponse() - 开始对指定 URI 资源做异步请求EndGetResponse() - 结束对指定 URI 资源做异步请求HttpWebResponse - 对指定的 URI 做出响应GetResponseStream() - 获取响应的数据流22、介绍Silverlight 2.0 调用 WCF 服务,对客户端与服务端传输的消息做加密。在 Visual Studio 2008 中使用"添加服务引用"会自动生成代理类。只支持BasicHttpBinding23、介绍Silverlight 2.0 调用 WCF 的双向通信服务(Duplex Service) 。开发一个服务端主动向客服端发送股票信息的程序,首先客户端先向服务端发送需要监控的股票的股票代码,然后服务端在该股信息发生变化的时候将信息推送到客户端24、介绍Silverlight 2.0 Socket通信。开发一个多人聊天室。服务端:实例化Socket, 绑定, 监听, 连接, 接收数据, 发送数据客户端:实例化Socket, 指定服务端地址, 连接, 接收数据, 发送数据25、介绍Silverlight 2.0 使用Thread, Timer, BackgroundWorker, ThreadPool来实现多线程开发。Thread - 用于线程的创建和控制的类Timer - 用于以指定的时间间隔执行指定的方法的类BackgroundWorker - 用于在单独的线程上运行操作ThreadPool - 线程池的管理类26、介绍Silverlight 2.0 使用Lock, Interlocked, EventWaitHandle, Monitor来实现线程同步。Lock - 确保代码块完成运行,而不会被其他线程中断Interlocked - 为多个线程共享的变量提供原子级的操作EventWaitHandle - 通知其他线程是否可入的类Monitor - 提供同步访问对象的机制ThreadStaticAttribute - 所指定的静态变量对每个线程都是唯一的27、介绍Silverlight 2.0 使用c#开发可脚本化的代码,Silverlight与宿主页面的DOM之间的交互,Silverlight与宿主页面的JavaScript之间的交互。ScriptableMemberAttribute - 需要脚本化的属性、方法、事件要标记为此HtmlPage.RegisterScriptableObject - 将可脚本化对象注册到客户端HtmlElement - 表示网页的文档对象模型 (DOM) 中的 HTML 元素HtmlWindow - 提供 JavaScript 的 window 对象的 Silverlight 端的托管表示形式28、介绍Silverlight 2.0 调用 ADO.NET Data Services (数据服务)。本文以 Northwind 数据库为示例数据库,做一个添加、查询、更新和删除的Demo在 Silverlight 2.0 中调用数据服务只能使用异步方式调用。另外,数据服务要与 Silverlight 宿主放在相同的域上System.Data.Services.Client.DataServiceContext - 数据服务上下文System.Data.Services.Client.DataServiceQuery - 以指定的 URI 语法查询数据服务AddObject(), UpdateObject(), DeleteObject() - 本别用于添加, 更新, 删除实体BeginExecute()/EndExecute(), BeginExecuteBatch()/EndExecuteBatch - 用于执行某一个 DataServiceQuery 查询或批量执行(将一组查询一次性地提交到数据服务)BeginSaveChanges()/EndSaveChanges() - 用于提交对实体的修改(增,删,改)BeginLoadProperty()/EndLoadProperty() - 用于加载指定的属性的值,加载导航属性的时候需要用到它AddLink(), SetLink(), DeleteLink() - 分别为创建连接,Added状态(一对多);创建连接,Added状态(多对一);删除连接,Deleted状态29、介绍Silverlight 2.0 提示和技巧系列Cookie - 通过 JavaScript 操作 Cookie自定义字体 - 在程序中使用自定字体为程序传递参数 - 为 Silverlight 程序传递初始化参数自定义鼠标右键 - 响应并处理自定的鼠标右键事件程序常用配置参数 - object 标记的常用参数,以及对应的 Silverlight 控件的常用属性30、介绍Silverlight 2.0 提示和技巧系列Silverlight.js - 一些 js 帮助函数,用于嵌为入 Silverlight 插件以及自定义安装体验等提供帮助Silverlight.supportedUserAgent.js - 就一个函数,用于判断 Silverlight 是否支持用户的浏览器自定义启动界面 - 三个参数的综合应用:splashScreenSource, onSourceDownloadProgressChanged, onSourceDownloadComplete响应鼠标滚轮事件 - 响应并处理鼠标的滚轮事件31、介绍Silverlight 2.0 提示和技巧系列加载XAP - 加载指定的 xap 文件到当前的 Silverlight 应用程序中加载XAML - 加载指定的 xaml 文件到当前的 Silverlight 应用程序中加载DLL - 加载指定的 dll 文件,并调用其中的方法或加载其中的控件AppManifest.xaml文件说明 - 简要说明 AppManifest.xaml 文件内容中各个节点的作用自定义鼠标指针 - 实现自定义的鼠标指针,即鼠标跟随32、介绍Silverlight 2.0 提示和技巧系列MessageBox - MessageBox 的演示Popup - Popup 弹窗口的演示循环的几种实现方法 - DispatcherTimer 方式, Storyboard 方式, Timer 方式, CompositionTarget.Rendering 方式动态变换主题 - 演示如何动态地变换主题本地化(多语言) - 演示如何实现对多语言的支持响应鼠标双击事件 - 响应并处理鼠标的双击事件OK源码下载地址:http://files.cnblogs.com/webabcd/Silverlight.rar