我有一个加载 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'}"
/>
这是代码
答案 0 :(得分:1)
使用“{DynamicResource myresource}”代替“{StaticResource myresource}”。
如果程序集A.exe在其wpf树中具有所需的词典,则引用的程序集B.dll的子控件将找到所需的资源。
但是,您不会在WPF设计器中看到预期的结果。
答案 1 :(得分:0)
也许使用依赖注入框架。 WPF使用Unity / Prism作为其默认框架。您可以在dll的
中利用相同的概念