在WPF应用程序中找不到资源字典

时间:2012-06-15 15:09:36

标签: c# wpf xaml

我正在构建WPF应用程序,并在尝试引用资源字典时遇到错误。在我的WPF应用程序项目中,我有一个名为“Styles”的文件夹,包含我的应用程序的所有xaml样式模板:

VS2010 Solution Explorer

在我的app.xaml文件中,我有:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Styles/MetroTheme.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

但是,当我将鼠标悬停在源属性上时,我收到一条错误消息“找到资源字典时出错”Styles / MetroTheme.xaml“。我可以在Visual Studio和Visual Studio中查看文件夹中的xaml文件文件系统。

我还尝试了“/Styles/MetroTheme.xaml”和源属性的包uri,但都没有成功。知道为什么我找不到这个文件错误吗?

4 个答案:

答案 0 :(得分:6)

确保MetroTheme.xaml的构建操作设置为Page。

enter image description here

答案 1 :(得分:2)

我遇到了同样的问题,但设置 Build Action = Page 并没有解决我的问题。原来我需要使用Pack URI Format。所以,

<ResourceDictionary Source="pack://application:,,,/Styles/MetroTheme.xaml"/>

修改

原来上面会消除构建错误,但仍会导致运行时错误。我需要包含完整的装配规范以获得完整的分辨率(即使所有文件都在同一个程序集中):

<ResourceDictionary Source="pack://application:,,,/WpfApplication10;component/Styles/MetroTheme.xaml"/>

答案 2 :(得分:0)

有时关闭Visual Studio并再次打开它可以解决此问题。

答案 3 :(得分:-1)

将目标.net版本更改为项目属性中的旧版本,然后重置为以前的版本。