使用另一个字典中的资源

时间:2014-02-12 15:05:54

标签: c# wpf resourcedictionary

我有一个加载 WPF 应用程序的解决方案,该应用程序将多个资源字典保存为合并的字典。其中一个包含转换器,某些集合,模板。其他包含模板和其他东西。一些字典是从其他编译的DLL加载的。

我的问题是某些词典需要使用其他词典中的资源。虽然我可以参考它们,但我想避免这种情况。我想让他们以集中的方式互相访问。

有没有办法做到这一点,我失踪了,或者有人能指出我一篇关于这个的文章?我在googleing但没有找到任何东西

修改

这个解决方案工作正常,直到我尝试在转换中使用转换器作为DynamicResource。任何sugestions?

<Image Margin="0" Width="20" DockPanel.Dock="Left" StretchDirection="Both"
                       Source="{Binding MessageCode, Converter={DynamicResource MessageImageConverter}, ConverterParameter=True, FallbackValue='0'}"
                       />

这是代码

2 个答案:

答案 0 :(得分:1)

使用“{DynamicResource myresource}”代替“{StaticResource myresource}”。

如果程序集A.exe在其wpf树中具有所需的词典,则引用的程序集B.dll的子控件将找到所需的资源。

但是,您不会在WPF设计器中看到预期的结果。

答案 1 :(得分:0)

也许使用依赖注入框架。 WPF使用Unity / Prism作为其默认框架。您可以在dll的

中利用相同的概念