Hello support team,
we have an issue using the DockLayoutManager.RestoreLayoutFromStream() feature. Our programs load the layout on startup and save layout when program closes. A customer was able to break this load process by docking the panels in the window. After closing the program this layout was saved. Now he starts the program and it tries to restore the saved layout. This runs into an endless loop in DevExpress.Xpf.Docking.DockLayoutManagerExtension.GetManager(). I've attached a sample project to demonstrate this strange behavior.
Some notes to the code: We use a derived class of DockLayoutManager which uses derived classes from LayoutPanel and TabbedGroup in restore process. Main.Window.xaml.cs contains the basic logic of loading and saving the layout to a file. Before layout loads, we add several LayoutPanels containing plugin controls. I simulated this plugin load in LoadPlugins() method, by simply adding some LayoutPanels. The customers layout file is attached to the project (LoadLayoutLoop.xml). We save/load the xml code as it comes from your serializer, no modifications done by our programs. Any suggestions to prevent this endless loop would be appreciated. Simply deleting this broken layout file is maybe a workaround, but is actually no option for us.
Thanks in advance
Steffen
Hi Steffen,
I have successfully reproduced the issue and passed this ticket to our developers for further research. Please stay tuned. We will notify you as soon as we make any progress.