Wpf 加载(XmlReader)";“堆栈为空”;XamlParseException
我正在尝试在运行时加载xaml文件。我的代码如下所示:Wpf 加载(XmlReader)";“堆栈为空”;XamlParseException,wpf,exception,xaml,load,runtime,Wpf,Exception,Xaml,Load,Runtime,我正在尝试在运行时加载xaml文件。我的代码如下所示: StringReader stringReader = new StringReader(xamlString); XmlReader xmlReader = XmlReader.Create(stringReader); content = XamlReader.Load(xmlReader); 它基本上是msdn的复制粘贴。加载行抛出一个XamlParseExcep
StringReader stringReader = new StringReader(xamlString);
XmlReader xmlReader = XmlReader.Create(stringReader);
content = XamlReader.Load(xmlReader);
它基本上是msdn的复制粘贴。加载行抛出一个XamlParseException,内部异常为“Stack Empty at line…”。它指向的行是xaml字符串中的用户控件的结束标记,该字符串的最后一行 基本的Xaml结构如下所示
<UserControl>
<UserControl.Resources>
</UserControl.Resources>
<Grid>
</Grid>
</UserControl>
谷歌搜索没有发现任何东西。非常感谢在找到解决方案方面的任何帮助。我刚开始从xaml中切块,直到错误消失。我能够把它缩小到我的用户控件声明中的这一行
<UserControl
...
WPFManagement:ObjectReference.Declaration="{WPFManagement:ObjectReference thisPointer}"
...>
不太清楚为什么会抛出堆栈空异常,但确实如此
这是整个标题,罪犯用粗体表示
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:WPFManagement="clr-namespace:A;assembly=A"
xmlns:WPFControls="clr-namespace:B;assembly=B"
xmlns:ModuleUI="clr-namespace:C;assembly=C"
xmlns:GeneralUI="clr-namespace:D;assembly=D"
**WPFManagement:ObjectReference.Declaration="{WPFManagement:ObjectReference thisPointer}"**
mc:Ignorable="d"
WPFControls:UIExtension.Caption="Filler"
WPFControls:UIExtension.Icon="Icon"
d:DesignWidth="910"
d:DesignHeight="730">