![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Silverlight
文章平均质量分 53
nchen123
这个作者很懒,什么都没留下…
展开
-
Silverlight 的 Isolated Storage 学习笔记
CLR Inside OutIsolated Storage In Silverlight 2http://msdn.microsoft.com/en-us/magazine/dd458794.aspx详细介绍了 Silverlight 的 Isolated Storage 用法,以及最佳实践。大致内容回顾:在使用 IsolatedStorage 的时候应该总是用一个 try..cat原创 2009-03-14 22:14:00 · 580 阅读 · 0 评论 -
用 Silverlight 开发围棋在线对弈程序(一)UI 雏形
用 Silverlight 开发围棋在线对弈程序作者: Neil Chen第一部分:UI雏形首先,介绍下围棋的简单规则:黑白双方交替落子,以占据棋盘上交叉点多者为胜。同时,双方为了争夺地盘,可能会发生“对杀”。一个棋子周围接触的空白交叉点数目叫做“气”,如果一个或多个棋子周围的气都被对方封死,气数=0,则这些棋子就称为死棋,需要从棋盘上移去。一个围棋棋谱大致如下图所示(截图原创 2009-03-31 02:14:00 · 1217 阅读 · 0 评论 -
Easier programming asynchronous calls
Asynchronous calls can improve scalability, however, its always more difficult for us to do programming jobs under an asynchronous calling manner. The main reason is, asynchronous calls need call原创 2009-01-18 11:14:00 · 535 阅读 · 0 评论 -
[Silverlight] 关于线程调用的扩展方法
Silverlight 里需要考虑异步调用的问题,比较麻烦。所以写了两个简单的扩展方法。一个方法是为了更新 UI 控件。可以自动在不同的调用环境下判断是否需要 Invoke, 从而安全的调用控件相关的方法。另一个方法的目的是把任务放到 ThreadPool 里去等待后续的异步执行。代码如下:using System.Windows;using System;using System.T原创 2009-01-11 02:14:00 · 444 阅读 · 0 评论 -
[Silverlight]摆脱对 ServiceReferences.ClientConfig 的依赖
在 Silverlight 中,如果用 VS 添加对 WCF Service, 的引用,则会自动生成 ServiceReferences.ClientConfig 配置文件,其中包含该 Service 的 Binding 和 Address 等信息。将配置信息隔离出来本来是好事情,但问题是,由于 Silverlight 只是一个客户端 runtime 的特性决定,配置文件将被在编译时组装到原创 2008-10-24 13:15:00 · 641 阅读 · 0 评论 -
Silverlight 2 终于来了!
安装了最新版本的 Silverlight 2:版本 Silverlight 2 RTW (2.0.31005.0)到这里安装:http://www.microsoft.com/silverlight/如果开发机器上已经装过 RC0,则必须先卸载掉 RC0,再访问该网页才能安装最新版本。RC0的版本号是 2.0.30930.0如果不卸载 RC0,下载到的将是 silver原创 2008-10-14 16:15:00 · 334 阅读 · 0 评论 -
加快打开XAML文件的速度
最近一直在做 Silverlight 的东西,反复打开一个 XAML 实在太慢了。虽然我在设计界面已经把设计视图拖到最小化,但是这样做并没有提高文档的打开速度。仔细查看了一下 VS 2008 的选项,可以选择不打开设计视图:Options / Text Editor / XAML / Miscellaneous / Default View / Always Open docume原创 2008-10-13 13:15:00 · 639 阅读 · 0 评论 -
[Silverlight] UI 测试/UI 自动化相关知识
(摘要自:http://blogs.msdn.com/gisenberg/archive/2008/07/12/ui-automation-in-silverlight-simulating-user-interactions.aspx)在 Silverlight 中,UI 自动化(UIA)的相关内容在下列名称空间中:System.Windows.AutomationSystem.Wind原创 2008-09-27 23:15:00 · 822 阅读 · 0 评论 -
Silverlight 2.0 RC0 发布
关于 Silverlight 2 RC0, 主要内容参见 Scott Gutheri 的介绍性帖子:http://weblogs.asp.net/scottgu/archive/2008/09/25/silverlight-2-release-candidate-now-available.aspx这次从 Beta 2 到 RC0,变化了很多东西,包括很多破坏性的改变(Breaking C原创 2008-09-27 00:15:00 · 281 阅读 · 0 评论 -
[Silverlight] 如何在 Worker thread 中更新 UI
Silverlight 中调用服务全部采用异步方式,在调用 WCF 时似乎没有什么问题。但是如果要用一个 WebRequest 对象去向某个页面 Post 一些内容,然后获得回应。就会发现在 Worker thread 中将无法更新 UI.在 Windows Forms 里,可以用 Control.Invoke. 但是 Silverlight 没有这个。Silverlight 中有更好的办原创 2008-07-25 01:15:00 · 325 阅读 · 0 评论 -
Silverlight + WCF 常见错误调试方法
1、 404 Not Founda. 检查服务器是否放了 ClientAccessPolicy.xml 文件。内容范例如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->xml version="1.0" encoding="utf-8" ?原创 2008-07-23 16:15:00 · 280 阅读 · 0 评论 -
Scott Guthrie 写的 Silverlight 教程索引
Scott Guthrie的《Silverlight 2初览》中的八篇教程的中文版:第一部分:使用Silverlight 2 和 VS 2008创建“Hello World”程序 第二部分:使用布局管理 (木野狐译) 第三部分:使用 Networking取回数据并填充DataGrid 第四部分:使用 Style 元素更好地封装观感 (木野狐译) 第五部分:用 ListBox 和 DataB原创 2008-07-22 10:15:00 · 288 阅读 · 0 评论 -
Silverlight 文章收集
(以下内容全部整理自博客堂 Scott gu 博客中文版)Silverlight技巧,诀窍,教程和链接 【原文地址】Silverlight Tips, Tricks, Tutorials and Links Page 我将使用本页链接到有关Silverlight 2的文章和贴子(包括我写的和别人写的),请经常回来查看新的内容,因为我才开始。原创 2008-07-22 10:15:00 · 532 阅读 · 0 评论 -
[Silverlight] 一个易犯的错误:关于调用 WCF 服务
在采用 Silverlight 调用 WCF 的开发过程中,今天遇到一个错误。由于 Silverlight 中只支持异步方式的 WCF 调用,所以代码一般是这样子的:var myServiceClient = new MyServiceClient();myServiceClient.GetSomeDataCompleted += (sender, args) => { Ht原创 2008-07-19 16:15:00 · 296 阅读 · 0 评论 -
[Silverlight] 改进 Nikhil Kothari 的换肤方案:允许自定义控件的皮肤定义
在 Silverlight 下换肤的实现 中,我介绍了 Nikhil Kothari 实现的一种 Theme 方案。但是实践了一下,我很快发现有个小小的缺陷。作者的皮肤定义是仅针对系统自带的控件的,如 Button, TextBox, CheckBox 等,而对于我们自定义的控件的换肤问题没有很好的解决。从下列代码中可见一斑:(/Framework/Applications/Theme.c原创 2008-07-17 14:15:00 · 391 阅读 · 0 评论 -
Silverlight 的文本框自动完成(AutoComplete)
Nikhil Kothari 利用他开发的 behavior 框架实现了自动完成功能。并且支持多种形式的调用方式,很灵活。具体见这里:http://www.nikhilk.net/Silverlight-AutoComplete.aspx原创 2008-07-17 02:15:00 · 721 阅读 · 0 评论 -
Silverlight 之模态对话框的通用模拟
Silverlight 给我们带来了如同 Winform 一样便捷的开发方式,然而在桌面应用程序中一个非常重要的元素——模态对话框,却不具备。而 ScottGu 的 Silverlight 教程中提供了一种简单的方法,可以模拟出类似模态对话框的显示。其原理跟我们在 HTML 中实现模拟的模态对话框的方法类似,无非是动态创建一个半透明的层盖住整个页面背景,让背后的元素无法操作,然后在其上显示原创 2008-07-05 01:15:00 · 854 阅读 · 1 评论 -
用 Silverlight 开发围棋在线对弈程序(二)MVC
用 Silverlight 开发围棋在线对弈程序作者: Neil Chen第二部分:MVC为了重用代码,并且开始开发围棋程序的界面控制功能,我们考虑用 MVC 架构来对前面的程序进行一点小的修改,这样方便扩展功能。首先需要引入几个枚举,以及帮助类:设计完成之后,我们的 Model, View, Controller 的类图如下:程序的执行是从 App.xa原创 2009-03-31 02:14:00 · 725 阅读 · 0 评论 -
Silverlight 2 的 DataGrid 基本使用方法
Silverlight 2. 0 beta 中据说对 DataGrid 控件有了不少增强,于是在网上搜了下,找到该项目的 PM 写的一个介绍帖子:http://blogs.msdn.com/scmorris/archive/2008/03/21/using-the-silverlight-datagrid.aspx看了看还是太简单了点。从这个例子里发现 Silverlight 和 asp.原创 2008-06-22 00:15:00 · 493 阅读 · 0 评论 -
Silverlight 里如何实现隐式样式,ImplicitStyleManager 的实现思想
在 WPF 中,我们可以方便的在全局范围定义一个样式,就可以应用到所有这种类型的对象,这就是所谓的隐式样式(implicit Style),比如:Window x:Class="WpfImplicitStyle.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x原创 2008-12-16 12:14:00 · 643 阅读 · 0 评论 -
Silverlight 2 DataGrid 如何自定义列标题
在 beta 2 时可以直接指定 col.Header = 一个控件树, 但是现在在正式版里就只能指定一个 String 了。否则会报错。奇怪的是, col.Header 属性却设计为 object 类型。不能不说这是一个失败。要自定义列标题栏(比如要实现自定义排序/过滤的场景),只能通过给 Header 属性加 Style 的办法,指定一个 ControlTemplate,然后里面构造相原创 2008-10-17 22:15:00 · 901 阅读 · 0 评论 -
Silverlight 调用 WCF 如何处理错误
Silverilght 客户端不支持 FaultException. 只会显示一个 404 错误。所以,服务端抛出的异常,在客户端是无法直接通过序列化/反序列化传递得到的。但是可以改用下列一些方法来帮助从客户端得到错误信息:1. 在 Service 端,将返回值对象重新设计,在其中添加错误信息的字段,传递回来。2. 在 Service 端发生异常时,捕获之,并使用 Session 存储(同原创 2008-10-16 13:15:00 · 417 阅读 · 0 评论 -
[Silverlight] Mac OS 风格按钮 Style 实现的更新版(针对 Silverlight 2 RTW)
在 Silverlight 2 beta 2 时,我曾经写了一篇帖子实现了苹果风格的按钮样式(Silverlight 下苹果(Mac OS)风格按钮的实现 )。而现在 Silverlight 2 终于发布了,也给之前的代码带来了很多问题,导致无法继续使用。经过一阵探索,我终于成功修改了这个代码,现在在正式版下也能工作正常了。其关键点如下:1. 在 beta 2 时,需要采用 和原创 2008-10-16 00:15:00 · 321 阅读 · 0 评论 -
Silverlight 的控件生命周期
微软的 Dave Relyea 在 blog 中解释了 Silverlight 中控件的生命周期,以及一些可以 override 的基类方法发生的时机。http://blogs.msdn.com/devdave/archive/2008/10/11/control-lifecycle.aspxActionControl instantiated in XAML原创 2008-10-12 17:15:00 · 485 阅读 · 0 评论 -
[Silverlight] 写了两个方便 DOM 查找的扩展方法
Silverlight 中有所谓视觉树(Visual Tree)的概念,而 VisualTree 是一个运行时的概念,其实可以理解为一种 DOM.其内容的来源可以是几个方面: 1.静态 XAML 文件中创建的。 2.用 XamlReadler.Load() 方法动态加载的 XAML 内容。 3.完全通过代码创建的控件。在 XAML 中我们通过 x:Name 来标识一个元素,但是光靠 Nam原创 2008-07-23 14:15:00 · 242 阅读 · 0 评论 -
Silverlight 下换肤的实现
Silverlight 目前控件要改变外观一般都通过 Style="{StaticResource SomeStyle}" 来指定,而不能统一设置一个默认的 Style. 为了重用,一般把 Style 都放到 App.xaml 的 Resources 字典中去。而 Style 的定义往往非常冗长,这样 App.xaml 就会变得非常臃肿,修改维护都很麻烦。并且,还不能支持多个控件批量切换原创 2008-07-17 01:15:00 · 281 阅读 · 0 评论 -
Silverlight 下苹果(Mac OS)风格按钮的实现
在 Silverlight 2 beta 2 下,可以通过 Style 和 ControlTemplate 对控件的观感 (look and feel) 进行定制。并且在最新的 Expression Blend 2.5 June 2008 preview 版本中,可以用可视化的方式来进行设计(一些细微的地方仍然要代码调整),这样就方便多了。本文介绍如何实现一个 Mac 风格的按钮。先看一下原创 2008-07-11 22:15:00 · 686 阅读 · 0 评论 -
Gestalt - 在浏览器里用 python/ruby 写客户端脚本
Gestalt 是 Mix Online Lab 创造出来的一个框架,利用它我们可以在浏览器里用 python/ruby 写脚本来操纵 DHTML 的各种对象,其作用就跟 javascript 类似。一个例子:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighte原创 2009-07-24 11:14:00 · 1121 阅读 · 0 评论 -
用 Chiron 运行 IronPython 编写的 Silverlight 程序
Silverlight Dynamic Languages SDK 目前 host 在 CodePlex 上,使用它可以用 IronPython/IronRuby/Managed JScript 等动态语言编写 Silverlight 程序,其项目的主页在:http://www.codeplex.com/sdlsdk我做了一些尝试,发现要实际用来开发点东西,还是有不少需要注意的地方,特别是原创 2008-12-02 12:14:00 · 683 阅读 · 0 评论 -
关于 Silverlight 2 Control Tookit 的最新消息
Silverlight 2.0 发布了,此时最值得关注的莫过于 ScottGu 宣称的含有上百个控件的工具包了。https://blogs.msdn.com/sburke/archive/2008/10/14/silverlight-2-released-silverlight-toolkit-on-the-way.aspxShawn Burke 所在的 team 负责这个项目.原创 2008-10-15 14:15:00 · 274 阅读 · 0 评论 -
[Silverlight] 用 IronPython 创建和调用用户控件
关于如何用动态语言跑 Silverlight 就不说了,可以参考代振军的帖子。但是很多教程都没有提到怎样才能分模块开发,在介绍完一个 app 后就结束了。现在来看一下如何实现用户控件的动态加载,其实也很简单。关键是用到了 Application.LoadComponent 这个方法,他可以加载指定的 xaml,并转换成某个类型的对象。为了减少重复工作,我做了一个简单的基类,叫做 UserC原创 2008-08-01 11:15:00 · 371 阅读 · 0 评论 -
[Silverlight] Nikhil Kothari 的动画框架 Glitz(摘要)
原文地址: http://www.nikhilk.net/Silverlight-Effects-Transitions.aspxNikhil Kothari 在 blog 中介绍了一个叫做 Glitz 的动画框架,之所以需要这个框架,是因为 Silverlight 中已有的 Storyboard / Visual state manager 太原始,无法简单的提供一些常用的动画效果。效果原创 2008-07-31 09:15:00 · 324 阅读 · 0 评论 -
Silverlight 2 beta 2 中目前不支持共享 WCF 的客户端类型
在调用多个 WCF Service 的时候经常会遇到的一个问题是,某些同样的类型因为在不同的 Service 里用到,就被重复生成了好几个版本的代理类型,分别处在不同的名称空间下。这样,如果一个操作需要同时调用几个 Service,就会面临冲突,假设 A 和 B 是因为不同的 WCF Service 生成的同一个类型的不同代理。那么只有通过代码把 A 的数据复制到 B. 这样显然很麻烦。W原创 2008-07-27 18:15:00 · 339 阅读 · 0 评论 -
Silverlight 2 beta 2 bug 解决办法 (持续更新中)
1. ListBox 的 Item 里的 CheckBox 不能正确选中。 该 bug 表现为需要先选中 ListItem,然后才能选中相应的 CheckBox. 临时解决办法: 设置 CheckBox 的 ClickMode 属性为 Press.2. Grid 布局中不能改变元素的叠放次序 其实可以!!在元素中设置 Canvas.ZIndex 属性即可。这个确实很搞原创 2008-07-24 17:15:00 · 216 阅读 · 0 评论 -
Silverlight 数据绑定 (2):Source to Target
接着上一篇,在 Silverlight 中支持3种绑定:OneWay, TwoWay, OneTime. 默认是 OneWay.其中 OneWay 表示仅仅从数据源绑定到目标(通常是 UI 对象),单向的;TwoWay 表示既可以从数据源绑定到目标,目标的更改也可以反馈给数据源,使其发生更新。而 OneTime 是 OneWay 的一种特例,仅加载一次数据。随后数据的变更不会通原创 2008-07-04 16:15:00 · 389 阅读 · 0 评论 -
Silverlight 数据绑定 (1):怎样实现数据绑定
一个数据绑定可以通过 Binding 对象来描述,其中包含数据源,要绑定的属性路径(Path),目标,目标属性等。其中目标属性必须是依赖属性(DependencyProperty)。为了说明方便,首先定义一个数据类: public class Person { public int Age { get; set; } public str原创 2008-07-03 19:15:00 · 803 阅读 · 0 评论