我想TabbedView
使用自定义 xml 序列化器/反序列化器从我的布局中保存。从手册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;
}