有关使用themes \ generic.xaml的资源查找系统的问题

时间:2012-11-28 04:27:13

标签: .net wpf xaml generic.xaml

我注意到generic.xaml中定义的资源不能通过

简单地解决
this.TryFindResource("someKey");

相反,它们只能以下列方式引用

this.TryFindResource(new ComponentResourceKey(typeof(SomeTypeInAssembly), "someKey"))

但是,假设我在另一个程序集中有一个自定义控件,并且在generic.xaml中有一个默认样式...为什么这样可以在我的WPF应用程序中运行,而不必传递ComponentResourceKey?

this.TryFindResource(typeof(CustomControl));

它如何知道要查找哪个generic.xaml,特别是如果我在多个引用的控件库中有多个themes \ generic.xaml资源字典?例如?

有没有获得应用程序中引用的所有程序集中所有主题词典的集合? (例如,您的应用程序引用了多个控件库,每个控件库都有自己的generic.xaml)

WPF是否在任何时间点都知道应用程序范围内是否存在所有theme / generic.xaml词典?我得到的印象是,当你提供一个ComponentResourceKey时,当前的WPF应用程序只会“发现”主题词典,它在WPF中找到了哪些内容(但为什么TryFindResource(typeof(CustomControl))有效?)

0 个答案:

没有答案