【问题标题】:Cannot find a Resource with the Name/Key PhoneProgressBarBackgroundBrush找不到具有名称/键 PhoneProgressBarBackgroundBrush 的资源
【发布时间】:2012-10-31 15:21:03
【问题描述】:

过去 2 天我一直在尝试调试此问题,我尝试了 SO 和 Microsoft connect 上可用的所有解决方案,但似乎找不到任何解决方案。

我下载了 Windows Phone 8 sdk,安装并创建了一个新项目,但是当我尝试编辑 App.xaml 时,我得到了

XamlParseException: Cannot find a Resource with the Name/Key PhoneProgressBarBackgroundBrush [Line: 729 Position: 39] at at MS.Internal.XcpImports.CreateFromXaml(String xamlString, Boolean createNamescope, Boolean requireDefaultNamespace, Boolean allowEventHandlers, Boolean expandTemplatesDuringParse, Boolean trimDeclaredEncoding) at System.Windows.Controls.Control.GetBuiltInStyle(IntPtr nativeTarget, IntPtr& nativeStyle)

请帮我解决这个问题。

【问题讨论】:

  • “当我尝试编辑 app.xaml 时”是什么意思?你到底做了什么?您在哪里看到该异常?
  • 我在解决方案资源管理器中点击了 app.xaml ???
  • k,卸载WP8 SDK并重新安装。听起来像是安装问题。
  • 我已经这样做了 3 次,现在再试一次
  • @JustinAngel,卸载重启后还是一样的问题。

标签: xaml visual-studio-2012 windows-phone-8


【解决方案1】:

有同样的问题,重新安装 WP8 SDK 也没有帮助。

可以通过将 ThemeResources.xaml 添加到项目资源中来解决该问题,如下所示:

混合: 在项目视图中,右键单击资源文件夹并选择“链接到现有项目...”。在那里添加 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Design\ThemeResources.xaml,它应该可以工作。

VS2012: 在解决方案资源管理器中,右键单击文件夹“资源”并选择“添加”->“现有项目...”。导航到 C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Design\ThemeResources.xaml 并选择“添加为链接”。

我不知道根本原因,即为什么 ThemeResources.xaml 不包含在新项目中。

【讨论】:

  • 由 gerichhome 编辑:也不要忘记手动将 ThemeResources 添加到 App.xaml:` ... ... ` 您还应该为 ThemeResources.xaml 设置 MSBuild:MarkupCompilePass1 自定义工具属性以启用一些编译时检查。跨度>
  • @StuartLC,你能解释一下吗,因为当我在 app.xaml 中添加你的代码时,我得到“每个字典都应该有一个键”
  • 我将@gerichhome 试图对JaniLirkki 的帖子进行的invalid 编辑粘贴到JaniLirkki 的帖子中,因为它可能与答案有关。恐怕我在这里没有专业知识:(
【解决方案2】:

您是否搜索过 PhoneProgressBarBackgroundBrush?它应该出现在资源字典中。如果您找到它,我会确保在您的 app.xaml 中将 Resource Dictionary 声明为 MergedDictionary,如果您找不到它,那么您会问下一个故障排除问题,是否只需要添加它。

您可以尝试将这样的内容放入资源字典中;

<SolidColorBrush x:Key="PhoneProgressBarBackgroundBrush"
                 x:Name="PhoneProgressBarBackgroundBrush"
                 Color="Black" />

如果您不确定哪个文件包含您的其他画笔,快速搜索"&lt;solidcolorbrush" 之类的文件应该会显示其他画笔。希望这会有所帮助。

【讨论】:

  • 我搜索了PhoneProgressBarBackgroundBrush,它在我的项目中没有显示,在这种情况下我该怎么办?
  • 看起来我根据链接看到的还有更多内容。您是否尝试过创建画笔/将其添加到字典并将其命名为 PhoneProgressBarBackgroundBrush 以便可以找到它? connect.microsoft.com/VisualStudio/feedback/details/769302/…
  • 对不起,我是 windows phone 开发的新手,你能告诉我该怎么做,而且这个问题只发生在一台机器上,其余工作正常。
猜你喜欢
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 2017-02-27
  • 2017-07-19
  • 1970-01-01
相关资源
最近更新 更多