访问不同程序集的资源

时间:2012-11-02 16:39:23

标签: .net wpf .net-assembly

我的程序具有以下结构,其中框表示程序集,箭头表示引用:

Assembly structure

WpfElements程序集在其Resources.xaml中包含一个资源字典,其中包含一些样式:

<ResourceDictionary x:Key="DialogDockStyle">
    ...
</ResourceDictionary>

WpfControls程序集包含一个引用这些样式的窗口:

<StackPanel ... Resources="{StaticResource DialogDockStyle}">

ServerClient程序集是实例化此窗口并显示它的可执行文件。

这适用于Server。窗口显示并可以使用。但是,当从Client运行相同的代码时,实例化窗口会发生错误:

  

找不到名为“DialogDockStyle”的资源。

从一个装配而不是另一个装配起作用有点奇怪。有没有什么我可以监督让它从两个集合中发挥作用?

1 个答案:

答案 0 :(得分:0)

我错过了在App.xaml中指定资源:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/WpfElements;component/Resources.xaml"/>
            ...
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>