是否有人成功地使用来自棱镜模块和AvalonDock的动态注入视图来加载和保存布局?
我有一个RegionAdapter,用于AvalonDock DockingManager,它允许我在棱镜模块中使用RegionViewRegistry注册视图,它们被AvalonDock中的LayoutAnchorable对象包装。
这一切正常工作,除非当保存和加载布局。当我从模块中添加视图时,它会通过RegionAdapter并正确地序列化(我有一个后序列化步骤,该步骤向输出中添加一些自定义的LayoutAnchorable,以提供有关在其中显示的模块的一些信息)。
加载布局时,实现LayoutSerializationCallback,将内容设置为相应模块的视图,并正确显示。
问题是,如果我随后尝试序列化这一点,我就永远得不到反序列化中添加的LayoutAnchorables。
我感兴趣的是,任何人谁设法创建AvalonDock +棱镜+布局保存和加载。
我被评估了完整的和SyncFusion的DockManagers,并且取得了更少的成功,它们都没有提供反序列化的回调,从而允许我注入我的自定义视图。
发布于 2013-09-19 02:37:43
我一年前就试过了,但是放弃了,因为基于MVVM和AvalonDock的样例应用程序对我来说很好。我理解区域适配器解决了什么问题,但这对我的应用程序来说并不是必要的。
我在我的个人项目AvalonDock中使用PRISM (用于服务和模块化)+ 宽 (对接)+布局保存,而没有区域适配器。还有一些其他项目-- SharpDevelop、双子座 --它们使用AvalonDock +加载/保存,而不使用AvalonDock。#D构建自己的模块化框架,双子座使用Caliburn.Micro框架。
总之,我建议您看看上面提到的开源项目,看看您是否可以从中找到有用的东西。希望这能有所帮助!
https://stackoverflow.com/questions/18782236
复制相似问题