Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 尝试反序列化Xaml时出现异常_Wpf_Xaml_Serialization - Fatal编程技术网

Wpf 尝试反序列化Xaml时出现异常

Wpf 尝试反序列化Xaml时出现异常,wpf,xaml,serialization,Wpf,Xaml,Serialization,我正在尝试使用以下简单代码序列化/反序列化某些Xaml: object clone; using ( var stream = new MemoryStream() ) { System.Windows.Markup.XamlWriter.Save( myStackPanel, stream ); stream.Seek( 0, SeekOrigin.Begin ); clone = System.Windows.Markup.XamlReader.Load( stream ); }

我正在尝试使用以下简单代码序列化/反序列化某些Xaml:

object clone;
using ( var stream = new MemoryStream() )
{
  System.Windows.Markup.XamlWriter.Save( myStackPanel, stream );
  stream.Seek( 0, SeekOrigin.Begin );
  clone = System.Windows.Markup.XamlReader.Load( stream );
}
实际的Xaml是好的,因为它已经呈现给UI。当我尝试反序列化完全有效的StackPanel时,它会抛出一个XamlParseException:

“向“System.Windows.ResourceDictionary”类型的字典添加值时引发异常。”

内部异常消息为:

“已添加项。在字典中输入:'字段'正在添加的键:'字段'”


当我检查序列化的Xaml时,没有重复的资源;有一个带有x:Key=“Field”的样式元素。

看起来这是一个

我怀疑发生的是XamlReader.Load试图将密钥添加到必须在myStackPanel中定义的现有ResourceDictionary中。您可能有一个没有键定义的资源的解决方案,或者,例如,将资源放在某个更高级别的资源字典中