摘要: Silverlight中 非UI线程更新UI 的几种方法:Delegate, AsyncOperation,BackgroundWorker首先列一下基础代码:<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/200 阅读全文
posted @ 2011-09-27 17:23 Areas 阅读(197) 评论(0) 推荐(0)
摘要: 继上节动态的添加Rectangle矩形框所讲。在实际应用中,我们动态添加矩形框,然后使用鼠标右键点击该矩形框,得到一个弹出窗口,再为此矩形框关联一些实际信息。即可实现用户自定义的配置页面。本节将讲两个小技巧:一.鼠标右键菜单。二.Silverlight全屏模式。一.使用鼠标右键菜单。在这里我们需要单独引入两个Dll文件。(右键项目名称-->“添加引用”-->寻找到System.Windows.Controls.Input.Toolkit.dll[可以从本文源代码中找到]) System.Windows.Controls; System.Windows.Controls.Input. 阅读全文
posted @ 2011-09-27 17:20 Areas 阅读(193) 评论(0) 推荐(0)
摘要: 本节我们讲一个关于在Sivlerlight中动态绘制矩形框的小技巧。此技巧可以让用户自定义的绘制矩形框。此技巧的关键在于,在一个Canvas中使用其事件,来绘制矩形,注意这里选用Canvas是因为Canvas.Top和Canvas.Left是一个很好的定位方法。当用户想要动态绘制一个矩形的时候,用户按下鼠标左键(MouseLeftButtonDown事件),记录当前鼠标点击的Canvas坐标,然后鼠标移动(MouseMove事件)的时候再记录当前鼠标移动到的点位,由此动态生成一个Rectangle矩形框。这个矩形框就会跟随你鼠标移动变换大小,当鼠标左键弹起(MouseLeftButtonUp事 阅读全文
posted @ 2011-09-27 17:18 Areas 阅读(282) 评论(0) 推荐(0)
摘要: 接上节所讲的,Silverlight可以加载外部的XML文件里面的内容,那么我们可不可以在外部XML里面配置一个WebService地址,并且以此加载这个地址来动态加载WebService呢?这样子就可以避免当WebService地址改变的时候,还要打开XAP包来重新修改WebService配置的地址了。 答案当然是可以的。在这里,我制作了一个实例。 在前面一节里面,我们讲到了使用WebClient来下载Silverlight程序外部的XML文件内容。在本节中,我们重点需要讲解一下如何使用反射来动态生成WebService代理类。关键代码如下:publicvoidInitializeServi 阅读全文
posted @ 2011-09-27 17:17 Areas 阅读(220) 评论(0) 推荐(0)
摘要: 使用WebClient读取XAP包同目录下的XML文件 我们想要读取XAP包下面的XML文件,需要将此XML文件放在加载XAP包的网页的目录中去,然后使用URI方式读取此URL方式下的XML文件。 首先使用WebClient来异步下载此URL方式的XML文件,然后使用XmlReader来读取此XML文件的数据内容。 在这里我们一共有3个知识点需要掌握: 第一:获取当前调用此Silverlight程序XAP包的网页的地址的前缀,以获取XML文件的URL地址。 public static string GetURL() { ScriptObject location = (HtmlPage.Win 阅读全文
posted @ 2011-09-27 17:16 Areas 阅读(167) 评论(0) 推荐(0)
摘要: 使用C#一个最常见的问题便是各种类型间的转换。我们知道,C#中的类型分为值类型和引用类型两大类。但是,有关它们间各自转换的细节描述在网上很少得到详细的回答。现在,我结合搜索到的部分资料整理如下:1,问题c#中类型转换的有两种,()转换和convert转换。我想知道的是这两个转换的区别还有就是()转换我用了发现好多不能转换过来,但是convert是万能转换的,那什么时候该用()什么时候该用convert呢?最后问下子,把int sum 怎么用()转换成float类型?请详细说明,最好有举例。解答:(1)这两个方法的最大不同是它们对null值的处理方法:Convert.ToInt32(null)会 阅读全文
posted @ 2011-09-27 15:51 Areas 阅读(480) 评论(0) 推荐(0)
摘要: 【IT168 专稿】Silverlight是微软重要的RIA工具,可以广泛应用于网络应用开发领域和桌面领域。事实上,自Silverlight for Windows Phone 7登台以来,Silverlight已经吸引了越来越多的开发者。与其直接的竞争对手Flash一样,Silverlight自第一个版本问世以来,已为多线程计算提供广泛而丰富的支持。整体而言,在Silverlight中引入多线程的根本动机主要是为了解决用户体验中的响应速度,进而减少单线程带来的阻塞问题。 在本系列文章中,我想尽可能详细地总结Silverlight 4对于多线程编程技术的支持。其中提供的相关示例代码供读者朋友. 阅读全文
posted @ 2011-09-27 15:49 Areas 阅读(283) 评论(0) 推荐(0)
摘要: 1.使用WaitHandle 等待句柄应当是你进行多线程编程的必备装备。由于我们的主要兴趣点在于Silverlight多线程编程相关的内容,所以我们不想再深入探讨WaitHandle。但在此为你提供一个典型的例子,告诉你使用WaitHandle的基本方法。 清单1: public partial class MainPage : UserControl AutoResetEvent handle = new AutoResetEvent(true); public MainPage() InitializeComponent(); new Thread(() => whil... 阅读全文
posted @ 2011-09-27 15:45 Areas 阅读(291) 评论(0) 推荐(0)