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;
}

0 ответов

Другие вопросы по тегам