Browse Source

#1259 - Hidden LayoutAnchorables serialize/deserialize bug

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

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

@ -792,21 +792,31 @@ 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();
return resultList; return resultList;
} }
private object ReadElement( XmlReader reader ) private object ReadElement( XmlReader reader )
{ {
@ -924,11 +934,13 @@ namespace Xceed.Wpf.AvalonDock.Layout
writer.WriteEndElement(); writer.WriteEndElement();
} }
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