我注意到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))有效?)