我想使用自定义xml序列化程序/反序列化程序从TabbedView
保存布局。从手册https://documentation.devexpress.com/#WindowsForms/CustomDocument11355
明确:There is no need to add, remove or modify docking containers manually. If you wish to arrange your documents and groups in code, use the DocumentGroup.DockTo method
。但是如何使用这种方法呢?文档的可能位置可能与文档排序不同。
所以我决定使用Docking containers
。之后我恢复了布局,但是有一个问题:splitters
之间没有添加DocumentGroups
。
这是一段代码:
TabbedView view = ((TabbedView)documentManager.View);
DockingContainer node = LoadViewsDockingContainers(parentNode.SelectSingleNode("DockingContainer"), documentManager);
view.RootContainer.Nodes.Add(node);
view.RootContainer.Nodes.RemoveRange(view.RootContainer.Nodes.Take(view.RootContainer.Nodes.Count - 1).ToArray());
private DockingContainer LoadViewsDockingContainers(XmlNode dockingContainerNode, DocumentManager documentManager)
{
// adding nodes recursive
dockingContainer.Nodes.Add(LoadViewsDockingContainers(parentNode, documentManager));
....
// adding element - DocumentGroup
dockingContainer.Element = LoadGroupDockingContainers(node, documentManager, toRemove);
return dockingContainer;
}