使用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代码