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

怎么样调用 Silverlight 客户端 APIs

 2008-10-04 11:37:43 来源:WEB开发网   
核心提示: 你可以给XAML element敲入一个 x:Name属性 . 然后你就可以使用DependencyObject.FindName这个API来得到该对象的引用了.(DependencyObject 是一个很基础的类, 所以你几乎可以在所有的Element中找到这个API.) 如果你使用过

你可以给XAML element敲入一个 x:Name属性 . 然后你就可以使用DependencyObject.FindName这个API来得到该对象的引用了.(DependencyObject 是一个很基础的类, 所以你几乎可以在所有的Element中找到这个API.) 如果你使用过 非托管 APIs 来开发过 Microsoft Silverlight 1.0 (formerly WPF/E), 那这个方法你可能就会比较熟悉了. FindName 返回一个类型的 Object, 但FindName 有一个不太方便的就是你必须指定它返回的类型,这样你才能正确有使用它. 这意味你必须了解当前方法所返回的正确的类型.

CS

//using 'this' against the root where this x:Class applies
//in this case we know that we are trying to find a TextBlock and can cast
TextBlock tb = this.FindName("myTextBlock") as TextBlock;

VB

'using 'this' against the root where this x:Class applies
'in this case we know that we are trying to find a TextBlock and can cast
Dim tb As TextBlock = CType(Me.FindName("myTextBlock"), TextBlock)

只要你使用Visual Studio Code Name "Orcas" 和其提供 Silverlight 模板,并使用它的 build过程, 这你就可以有一个更好选择了. 给你的Element一个x:Name 属性. 这样, 你可以不用一定要使用 FindName了, 考虑到 x:Name 其实是和后台的相对应的类是引用关系. 打个比方, 如果你创建了一个element <TextBlock x:Name="myTextBlock"/>, 并且你编程的对象是 x:Class,这样,你只需要要简单的敲入 myTextBlock 就可以得到引用了, 然后你敲入一个点, 相对应的属性,方法或者事件处理事件就能出来了. 通过IntelliSense你可以浏览对象所提供的所有可供调用的内容. 每次生成后台代码的过程可以确保这些自动引用的正确添加. 这个生成的代码文件其实是x:Class的一个partial类,它们将在使用的时候一起编译 . 你可以查看Silverlight project的编译机制: x:Class的partial class定义, XAML root中的 Loaded handler 其实会调用后台文件的 InitializeComponent, 和在obj 目录中生成的文件 (它重定义了 InitializeComponent 以此来在每次加载时,能正确的提供这种引用关系). 你可以发现当你加入一个已经命名的element到 XAML文件中来, 你可能需要预编译,这样才能得到相应的有着最新对象名的 IntelliSense .

上一页  1 2 3 4 5 6 7 8  下一页

Tags:怎么样 调用 Silverlight

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