Dut*_*tts 9 c# wpf docking avalondock
有没有人设法使用Prism模块和AvalonDock的动态注入视图成功加载和保存布局?
我有一个用于AvalonDock DockingManager的RegionAdapter,它允许我在Prism模块中使用RegionViewRegistry注册视图,它们被AvalonDock中的LayoutAnchorable对象包装.
这一切都正常,除了保存和加载布局.当我从我的模块中添加一个视图时,它会通过RegionAdapter并正确序列化(我有一个后序列化步骤,它将一些自定义XML添加到输出中,以便为我提供有关在LayoutAnchorable中显示的模块的一些信息).
当我加载布局时,我实现了LayoutSerializationCallback,将内容设置为适当的模块视图并正确显示.
问题是如果我随后尝试序列化,我永远不会得到反序列化中添加的LayoutAnchorables.
我有兴趣听到任何设法创建AvalonDock + Prism +布局保存和加载的人.
我对Infragistics和SyncFusion的DockManagers进行了评估,并且取得了更少的成功,它们都没有在反序列化上提供回调以允许我注入我的自定义视图.
我大约一年前尝试过这个,然后放弃了,因为带有 AvalonDock 的基于 MVVM 的示例应用程序对我来说工作得很好。我了解区域适配器解决了什么问题,但这对于我的应用程序来说不是必需的。
我在我的个人项目Wide 中使用 PRISM(用于服务和模块化)+ AvalonDock(对接)+ 布局保存,无需区域适配器。还有一些其他项目 - SharpDevelop、Gemini使用 AvalonDock + 加载/保存而不使用 PRISM。#D 构建了自己的模块化框架,Gemini 使用 Caliburn.Micro 框架。
总的来说,我建议您看一下上面提到的开源项目,看看是否可以从中找到有用的东西。希望这可以帮助!
| 归档时间: | 
 | 
| 查看次数: | 1283 次 | 
| 最近记录: |