Devexpress TabbedView Free Layout Режим сохранения макета
Я хочу сохранить макет из моего TabbedView
с пользовательским сериализатором / десериализатором xml. Из руководства https://documentation.devexpress.com/ ясно: 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;
}