访问ResourceDictionary中的自定义类

时间:2011-03-31 02:19:59

标签: wpf

我正在尝试在WPF应用程序中实现SharedResourceDictionary。

Christian Moser撰写了一篇短文并在此提供了课程:http://www.wpftutorial.net/MergedDictionaryPerformance.html

我将他的类复制到我自己的一个名为SharedResourceDictionary.cs的文件中 当我尝试在我的一个资源字典中实现下面的XAML时,我的问题出现了。我在ResourceDictionary中应该做些什么才能访问该类?

<ResourceDictionary.MergedDictionaries>
   <SharedResourceDictionary Source="/Brushes.xaml"  />
</ResourceDictionary.MergedDictionaries>

由于

2 个答案:

答案 0 :(得分:0)

您必须添加命名空间。

假设SharedResourceDictionary类驻留在MyTools命名空间中,并在MyCoolTools.dll程序集中实现:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:tools="clr-namespace:MyTools;assembly=MyCoolTools">
    <ResourceDictionary.MergedDictionaries>
        <tools:SharedResourceDictionary Source="/Brushes.xaml"  />
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

答案 1 :(得分:0)

我被大学的答案显示,我不需要名称空间。

我需要将SharedResourceDictionary.xaml放入单独的程序集中。为什么会出现这种情况有很长的技术原因,但我没有足够的理解这里给出详细解释。