我正在构建WPF应用程序,并在尝试引用资源字典时遇到错误。在我的WPF应用程序项目中,我有一个名为“Styles”的文件夹,包含我的应用程序的所有xaml样式模板:
在我的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,但都没有成功。知道为什么我找不到这个文件错误吗?
答案 0 :(得分:6)
确保MetroTheme.xaml的构建操作设置为Page。
答案 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版本更改为项目属性中的旧版本,然后重置为以前的版本。