首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试XamlParseException?

如何调试XamlParseException?
EN

Stack Overflow用户
提问于 2010-05-21 10:58:18
回答 5查看 20.8K关注 0票数 14

我试图在我的Silverlight应用程序中使用第三方组件,当我试图创建控件的实例时,我得到了一个XamlParseException:

代码语言:javascript
复制
{System.Windows.Markup.XamlParseException: **Set property 'System.Windows.FrameworkElement.Style' threw an exception.** [Line: 0 Position: 0] 
---> System.Windows.Markup.XamlParseException: **Elements in the same ResourceDictionary cannot have the same x:Key** [Line: 1739 Position: 47]    
at MS.Internal.XcpImports.CreateFromXaml(UnmanagedMemoryStream stream, String sourceAssemblyName, boolean createNamescope, Boolean requireDefaultNamespace, Boolean allowEventHandlers)    
at System.Windows.Controls.Control.GetBuiltInStyle(IntPtr nativeTarget, IntPtr& nativeStyle)    
--- End of inner exception stack trace ---    
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)    
at SpellCheckerSample.StandardSpellDialog.InitializeComponent()    
at SpellCheckerSample.StandardSpellDialog..ctor()}

我如何调试它呢?我如何知道文件行1739,位置47在什么位置?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-05-21 11:55:26

原来我的具体问题是ComponentOne组件只能在Silverlight4下工作,一旦我切换到目标SL4,一切都能正常工作。

票数 2
EN

Stack Overflow用户

发布于 2010-05-21 11:09:26

找起来可能有点麻烦。基本上,尝试从调试器收集尽可能多的详细信息。

查看XamlParseException.

  • Have,
  1. 将调试器设置为在调用栈时中断。可能有问题的控件的构造函数在callstack.
  2. When上暂停。转到本地变量调试窗口,查看函数的任何参数是否揭示了有关这是哪个组件的更多信息。
  3. 如果没有,请双击下一个堆栈项并转到步骤3.
  4. 重复步骤3和4.

在我写完这篇文章后,我意识到这个控件的构造函数确实在调用堆栈上,而且它是SpellCheckerSample。很可能是该控件的.XAML页面。如果您可以访问源代码,则文件名很可能类似于SpellCheckerSample.xaml.

错误本身是非常直接的,看起来像是在同一个ResourceDictionary中用相同的键定义了多个东西。下面的代码将导致这种情况的发生:

代码语言:javascript
复制
<Window.Resources>
  <myConverters:BananaToCarrotConverter x:Key="StupidestConverterEver" />
  <myConverters:BananaToAppleConverter x:Key="StupidestConverterEver" />
<Window.Resources>
票数 7
EN

Stack Overflow用户

发布于 2014-02-19 19:05:40

检查你得到的ResourceDictionary引用--问题通常是其中之一出现了需要修复的错误。

如果你的异常是来自App的原因,它可能是你的合并目录之一,否则就是有问题的控件。

还要检查您是否没有遗漏样式的资源目录使用情况(如果您使用了ReSharper,则会有所帮助,因为您将在XAML设计时收到警告)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2879312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档