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

Ste*_*all 4 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>
Run Code Online (Sandbox Code Playgroud)

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

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

And*_*ndy 6

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

在此输入图像描述


Leo*_*ret 6

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


nma*_*ler 5

我有同样的问题,但设置Build Action = Page并没有为我解决。结果我需要使用Pack URI Format。所以,

<ResourceDictionary Source="pack://application:,,,/Styles/MetroTheme.xaml"/>
Run Code Online (Sandbox Code Playgroud)

编辑

事实证明,以上将消除构建错误,但仍会导致运行时错误。我需要包含完整的程序集规范以获得完整的解决方案(即使所有文件都在同一个程序集中):

<ResourceDictionary Source="pack://application:,,,/WpfApplication10;component/Styles/MetroTheme.xaml"/>
Run Code Online (Sandbox Code Playgroud)