我正在使用Xaml文件,该文件是从ViewBase派生的自定义视图,我想访问位于不同程序集中的DynamicResource。我已经看到可以使用类似的东西:
<Application.Resources>
<ResourceDictionary
Source="/mylib;Resources/MyStyleDictionary.xaml" />
</Application.Resources>
但是我正在处理类似于:
的xaml文件<myLib:ViewBase>
<Grid>
<Button>
Style="{DynamicResource MyButtonStyle}" // I want this style to come from a different assembly
</Button>
</Grid>
</myLib:ViewBase>
我该怎么做?
答案 0 :(得分:1)
理解动态和静态资源之间的区别非常重要。 What's the difference between StaticResource and DynamicResource in WPF?
但要回答这个问题:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/SomeOtherAssembly;Resources/SomeOtherDictionaryWithMyButtonStyleKey.xaml" />
<ResourceDictionary Source="/mylib;Resources/MyStyleDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
动态引用资源,因此在MyStyleDictionary.xaml中合并之前合并SomeOtherDictionaryWithMyButtonStyleKey.xaml应该有效。