Wpf 尝试反序列化Xaml时出现异常
我正在尝试使用以下简单代码序列化/反序列化某些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 ); }
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中。您可能有一个没有键定义的资源的解决方案,或者,例如,将资源放在某个更高级别的资源字典中