gpt4 book ai didi

c# - 具有布局保存和加载的 AvalonDock 2.0 PRISM RegionAdapter?

转载 作者:太空狗 更新时间:2023-10-29 17:58:18 28 4
gpt4 key购买 nike

有没有人设法使用来自 Prism 模块和 AvalonDock 的动态注入(inject) View 成功加载和保存布局?

我有一个用于 AvalonDock DockingManager 的 RegionAdapter,它允许我在我的 Prism 模块中使用 RegionViewRegistry 注册 View ,它们被 AvalonDock 中的 LayoutAnchorable 对象包裹。

这一切都很好,除了保存和加载布局时。当我从我的模块添加一个 View 时,它通过 RegionAdapter 并正确序列化(我有一个后序列化步骤,向输出添加一些自定义 XML 以提供有关在 LayoutAnchorable 中显示的模块的一些信息)。

当我加载布局时,我实现了 LayoutSerializationCallback,将内容设置为适当模块的 View 并正确显示。

问题是,如果我随后尝试对其进行序列化,我将永远无法获得在反序列化中添加的 LayoutAnchorables。

我很想听听任何设法创建 AvalonDock + Prism + 布局保存和加载的人的意见。

我对 Infragistics 和 SyncFusion 的 DockManagers 进行了评估,但成功率更低,它们都没有提供反序列化的回调以允许我注入(inject)自定义 View 。

最佳答案

我在大约一年前尝试过这个,但后来放弃了,因为基于 MVVM 的示例应用程序和 AvalonDock 对我来说效果很好。我理解区域适配器解决了什么问题,但这对我的应用程序来说不是必需的。

我在个人项目中使用 PRISM(用于服务和模块化)+ AvalonDock(对接)+ 布局保存 Wide 没有区域适配器。还有一些其他项目 - SharpDevelop , Gemini虽然使用 AvalonDock + 加载/保存而不使用 PRISM。 #D 构建自己的模块化框架,Gemini 使用 Caliburn.Micro 框架。

总的来说,我建议你看看上面提到的开源项目,看看你是否能从中找到有用的东西。希望这对您有所帮助!

关于c# - 具有布局保存和加载的 AvalonDock 2.0 PRISM RegionAdapter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782236/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com