This project is read-only.

Problem in SaveLayout or RestoreLayout in new Version

Apr 7, 2009 at 8:56 AM
Hi Ado
first impression of the new Version was good.

Unfortunately I found a problem in SaveLayout or RestoreLayout  when a pane is "unpinned/flyin"
To Reproduce.
-start AvalonDockTest.exe
-unpin the ObjectExplorer DockablePane
-click saveLayout
-close AvalonDockTest.exe
-restart AvalonDockTest.exe
-click restoreLayout -> looks like it should
-->> But now no flyout is showing, nothing happens when mouseover or clicking the header!

I hope you can fix this soon.



Apr 8, 2009 at 3:06 PM
Hi, thanks for this important feedbac. Here the quick fix:

Remove lines 480 and 491 from DockableContent.cs and add the following lines to DockingManager.cs:

2555 if (childElement.HasAttribute("EffectiveSize"))
        ResizingPanel.SetEffectiveSize(childPanel, (Size)(new SizeConverter()).ConvertFromInvariantString(childElement.GetAttribute("EffectiveSize")));

2571 if (childElement.HasAttribute("EffectiveSize"))
        ResizingPanel.SetEffectiveSize(pane, (Size)(new SizeConverter()).ConvertFromInvariantString(childElement.GetAttribute("EffectiveSize")));

2267 xmlWriter.WriteAttributeString("EffectiveSize", new SizeConverter().ConvertToInvariantString(ResizingPanel.GetEffectiveSize(pane)));

This bug is stricly related to the 1.2 beta and is fixed in next service release.


Apr 9, 2009 at 10:20 AM
Hi Ado
the fix works!
Than ks!

May 5, 2009 at 12:33 PM
Hi Ado,

I implemented the fix but still encounter problems when saving and restoring DockingManager-Layout. Everything works perfect if I just start my application. The user can change the position of my DockablePanes like he wants. When the application closes I save the layout and it loads correctly when restarting my application. But now no flyout pane shows when I do a MouseOver or click the header (as pat_vito reported). Al DockablePanes are docked on one side of the screen and set to AutoHide.

Any hint what else I can do? This feature is very essential because I did not managed to have every DockablePane set to AutoHide on one side of my DockingManager. Maybe I'm missing anything but I don't know what else I can do. And I don't want my users to manually move the panes to the side the user wants everytime he restarts the application.

Thanks in advance!

Kind regards,