Browse Source

#1259 - Hidden LayoutAnchorables serialize/deserialize bug

pull/1260/head
Arnar Gestsson 9 years ago
parent
commit
8e163f4434
  1. 30
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutRoot.cs

30
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutRoot.cs

@ -792,15 +792,24 @@ namespace Xceed.Wpf.AvalonDock.Layout
reader.Read(); reader.Read();
} }
while( true ) bool done = false;
while(!done)
{ {
var result = ReadElement( reader ) as LayoutFloatingWindow; var element = ReadElement(reader);
if( result == null )
switch (element)
{ {
break; case LayoutFloatingWindow w:
resultList.Add(element);
break;
case LayoutAnchorable a:
resultList.Add(element);
break;
default:
done = true;
break;
} }
resultList.Add( result );
} }
reader.ReadEndElement(); reader.ReadEndElement();
@ -808,6 +817,7 @@ namespace Xceed.Wpf.AvalonDock.Layout
return resultList; return resultList;
} }
private object ReadElement( XmlReader reader ) private object ReadElement( XmlReader reader )
{ {
if( reader.NodeType == XmlNodeType.EndElement ) if( reader.NodeType == XmlNodeType.EndElement )
@ -925,10 +935,12 @@ namespace Xceed.Wpf.AvalonDock.Layout
} }
writer.WriteEndElement(); writer.WriteEndElement();
writer.WriteStartElement( "Hidden" ); writer.WriteStartElement("Hiddens");
foreach( var layoutAnchorable in Hidden ) foreach (var layoutAnchorable in Hidden)
{ {
layoutAnchorable.WriteXml( writer ); writer.WriteStartElement(layoutAnchorable.GetType().Name);
layoutAnchorable.WriteXml(writer);
writer.WriteEndElement();
} }
writer.WriteEndElement(); writer.WriteEndElement();
} }

Loading…
Cancel
Save