在Dictionary.xaml上声明的ResourceReferenceKeyNotFoundException

时间:2013-02-07 11:58:40

标签: c# wpf visual-studio-2010

我在字典上声明了ObjectDataProvider

    <ObjectDataProvider x:Key="Resources"
        ObjectType="{x:Type const:CultureResources}" 
        MethodName="GetResourceInstance"/>

我有一个想要找到它的课程:

m_provider = (ObjectDataProvider) App.Current.FindResource("Resources");

但是当它试图找到资源时,会启动错误

ResourceReferenceKeyNotFoundException

找不到我的资源......在这里你有一个关于我的项目划分方式的图片:

enter image description here

Default.xaml是我的默认词典。

那么,为什么我找不到我的字典中定义的Resources元素呢?

1 个答案:

答案 0 :(得分:0)

我需要回答我的问题,因为这是一件非常奇怪的事情......

首先,我需要说我必须将Dictionary.xaml添加到App.xaml

    <Application.Resources>
     <ResourceDictionary>
         <ResourceDictionary.MergedDictionaries>
             <ResourceDictionary Source="../themes/Default.xaml" />
            </ResourceDictionary.MergedDictionaries>
     </ResourceDictionary>
</Application.Resources>

出于某种原因,仅在MainWindow.xaml上调用它是不够的。所以我从MainWindow.xaml删除它并将其添加到App.xaml,但我不能将它们插入到双方。那是我看不清楚的部分......