在开发中,尝试着按照wpf的开发习惯,使用FindResource方法 查找资源,却发现无法调用这个方法。
查了查,是由于Silverlight FrameworkElement 不包含这个方法,看了看MSDN的说明:
Silverlight 不支持 FindResource API(不是严格意义上的 ResourceDictionary 问题,但是与总体用法有关)。
Silverlight 不支持 {DynamicResource}。如果要从 WPF 迁移 XAML,则可以将其转换为 {StaticResource},并在 ResourceDictionary 中定义它们,否则必须替换相关引用。同样,这也不是严格意义上的 ResourceDictionary 问题。
在 WPF 中,模板的基类型 (FrameworkTemplate) 还具有一个 Resources 属性。Silverlight 版本的 FrameworkTemplate 不具有 Resources 属性。
对应链接:http://msdn.microsoft.com/zh-cn/library/cc903952(VS.95).aspx
这样来说,主要的原因是wpf的基模板有resources这个属性,可以使用FindResource,而silverlight的组件基模板,没有这个熟悉。没法调用。
解决方法之一,使用FindName这个方法,可以返回查找。
你可以用这个写成一个构造一个对应的findResource方法。
|
上面的代码来自
我是自己使用findName,可以正常使用。。。
看来wpf和silverlight之间区别还是很多呀。。。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22259926/viewspace-627803/ ,如需转载,请注明出处,否则将追究法律责任。