WEB开发网
开发学院图形图像Flash 怎么样调用 Silverlight 客户端 APIs 阅读

怎么样调用 Silverlight 客户端 APIs

 2008-10-04 11:37:43 来源:WEB开发网   
核心提示: VBDim r As Rectangle = New Rectangle()r.Width = 400r.Height = 300Dim golden As SolidColorBrush = New SolidColorBrush()golden.Color = Color.FromRg

VB

Dim r As Rectangle = New Rectangle()
r.Width = 400
r.Height = 300
Dim golden As SolidColorBrush = New SolidColorBrush()
golden.Color = Color.FromRgb(211, 147, 12)
r.Fill = golden

这儿包含一些常规的代码, 比如创建一个 brushes 和创建一些用于重用brush的机制. 下面创建brush的代码会有些复杂,但你可以发现这将是有用的:

定义一个brush,并使其保存一个XAML文件, 或者存成一个在XAML中的string(包含根中的xmlns 声明).

把刚才那个文件或者string作为你的应用程序的一个嵌入资源.

以stream方式来访问当前资源, 使用这个stream作为string资源,并调用 XamlReader.Load API (更多关于些 API 的信息将在以后的部分介绍).

把得到的结果应用到 适当的 Brush 类, 并以此来设置相应的 属性.

对于此种方法,你可以使用一些设计工具,比如Microsoft Expression Blend来生成XAML, 使用这些工具你将可以大大减少你的工作量,你不用在对ARGB的值进行麻烦的设置,也不用从别的地方复制strings. Silverlight 托管 API没有包含资源系统, 该系统目前应用在基于 ResourceDictionary-based 的 WPF中,但嵌入资源是目前我们可用的.

鼠标 和 鼠标位置

浏览的客户端 APIs 可以用来得到 鼠标 的位置,这几乎可以在所有支持的浏览器中使用了, 但对于 基于Silverlight的 应用程序这并不够完美.取代以往的用一个service来不断的监视鼠标的动作(这用在 WPF中)的方法,现在我们只在触发某些事件事才返回鼠标座标位置. 然而, 这有一个特殊事件 MouseMove, 这个事件将不断的监视鼠标动作. 极端情况,如果鼠标从不移动, 你也可以得到鼠标的初始位置,这可以使用主 Canvas上的 MouseEnter 事件, 这只要 Canvas 被载入就将触发 (只要鼠标初始位置在该区域内). 你可以通过调用鼠标事件实体中的 MouseEventArgs.GetPosition方法来得到鼠标位置, 与以往得到直接的 X 和 Y 位置参数不同. 这个方法需要UIElement的参数; 你提供给此方法的element参数将用来计算成位置数值. 如果你不设置值,将其为 null, 那么当前座标系统将与 Silverlight 控件内容区域有关. 一般的, 一个典型的用作传入到GetPosition参数的element是这个事件的 sender (你需要给sender转化类型来使其成为一个UIElement).你可以填入任何element, 包括和这次点击事件无关的一些控件, 这可能会导致你从GetPosition得到的 X 和 Y 值为负值.

上一页  3 4 5 6 7 8 9 10  下一页

Tags:怎么样 调用 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接