【问题标题】:Invalid characters in Merged ResourceDictionary合并资源字典中的无效字符
【发布时间】:2013-12-16 21:58:58
【问题描述】:

我有以下资源字典

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

   <ResourceDictionary.MergedDictionaries>
       <ResourceDictionary Source="pack://application:,,,/Asi.Ui.CustomControls;component/Themes/ExpanderItem.xaml" />
   </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

我在“应用程序:,,”上收到 Resharper 7.1.3 错误,报告“路径中的字符无效”。

据我了解,这是合并字典的正确语法。我在语法上做错了吗?如果语法正确,为什么会出现此错误?

代码可以编译并且似乎运行良好,但我不确定这是否会在以后回来咬我。

【问题讨论】:

  • 尝试关闭设计器并再次打开它...或重建您的解决方案...
  • 是的,我试过了。做了一个干净的,封闭的VS,并重建。没有运气。
  • 您对这些资源字典的构建操作是什么?页面?
  • 它被 App.xaml 使用,所以它是一个应用程序
  • 这是来自 MSDN pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml 和你的看起来一样,所以不用担心 :)

标签: wpf resharper resourcedictionary mergeddictionaries


【解决方案1】:

当我在引用的 xaml 程序集中添加对“System.Windows”的引用时遇到了同样的问题,在您的例子中是 Asi.Ui.CustomControls。删除此引用修复了错误。

尽管应用程序构建并成功运行并报告了问题,但它具有令人讨厌的副作用,即在编辑字典源路径时智能感知停止工作。

【讨论】:

  • 我在合并另一个项目的字典时发现了同样的问题,就像 OP 一样。有趣的是,我通过删除对 System.Windows 的引用(而不是 .xaml 所在的那个)解决了这个问题。感谢这篇文章。它让我省了很多麻烦:)
猜你喜欢
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
相关资源
最近更新 更多