使用AvlonDock保存和加载布局出现过的问题

使用AvlonDock保存和加载布局遇到的问题 

首先可以先了解下http://www.cnblogs.com/wdysunflower/archive/2010/07/24/1779960.html

 下面开始

1.保存布局没问题,只要注意保存的时候使用绝对路径,下边是我用的方法

        private void SaveLayout()

        {

            string path = Path.GetFullPath(layoutPath);

            d_dockManager.SaveLayout(path);

        }

2.初始化布局时,我在初始化构造函数时直接调用d_dockManager.RestoreLayout(layoutPath);方法加载布局,出现以下错误

 

然后我加上try catch后抓取到错误信息 

Unable to deserialize a docking layout while DockingManager control is unloaded

3.郁闷了半天,后来发现在加载布局的时候DockingManager还未加载。而DockingManager控件已经解决此问题,使用DockingManager自带DockingManager.Loaded中加载布局,代码如下

/// <summary>

        /// 加载avalonDock事件

        /// </summary>

        private void d_dockManager_Loaded(object sender, RoutedEventArgs e)

        {

            LoadLayout();

        }

 

 

Xaml代码

 

最后的解决方法可以查http://avalondock.codeplex.com/discussions/56019

原文地址:https://www.cnblogs.com/pingping/p/2546479.html