Skip to content

Сохранение и восстановление макета панелей

Dock Manager позволяет сохранять макет закрепляемых панелей и документов, а затем восстанавливать его. Используйте методы DockManager.SaveLayout и DockManager.RestoreLayout для сериализации и десериализации макета.

Все панели и документы должны иметь уникальные имена, которые вы можете указать с помощью свойства Name. Уникальные имена обеспечивают корректную идентификацию и сериализацию элементов закрепления.

<mxd:DockGroup Orientation="Horizontal" DockHeight="*">
    <mxd:DockPane Name="dockPaneErrors" Header="Error List"/>
    <mxd:DockPane Name="dockPaneOutput" Header="Output"/>
</mxd:DockGroup>

Метод DockManager.SaveLayout использует указанный поток как есть - он не очищает поток и не изменяет текущую позицию потока перед сохранением макета.

Пример

Следующий пример показывает, как можно сохранить макет элементов закрепления в файл и восстановить сохранённый макет.

string fileName = "docking_layout.xml";

private void BtnSave_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
    using (var stream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
    {
        dockManager1.SaveLayout(stream);
    }
}

private void BtnRestore_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
{
    if (!File.Exists(fileName)) return;
    using (FileStream fileStream = File.OpenRead(fileName))
    {
        dockManager1.RestoreLayout(fileStream);
    }
}



* Эта страница была переведена с помощью нейросети Deepseek.