AvalonDock——界面的保存和恢复

在WPF中使用AvalonDock提供布局保存和恢复是一个常用功能。AvalonDock也提供了XmlLayoutSerializer类去支持我们们以读写XML文件的方式实现上面的功能。

代码实现
//用于初始创建一个 保存文件
private void SaveDefaultLayout()
{
    var serializer = new XmlLayoutSerializer(this.dockingManager);
    var stream = new StreamWriter(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"DafaultLayout.config"));

    serializer.Serialize(stream);
    stream.Close();
}

private void DafaultLayOut_Click(object sender, RoutedEventArgs e)
{
    var serializer = new XmlLayoutSerializer(this.dockingManager);
    var stream = new StreamReader(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DafaultLayout.config"));
    serializer.Deserialize(stream);
    stream.Close();
}

上面的代码没有实现MVVM方式,但实际上AvalonDock也提供了自己的LoadUnLoad事件。通过behavior库,也可以实现MVVM

posted @ 2025-12-22 20:25  Ytytyty  阅读(3)  评论(0)    收藏  举报