在 caliburn 中将视图从一个区域移动到另一区域

发布于 2024-09-27 13:29:48 字数 86 浏览 5 评论 0原文

我需要将视图从一个内容控件移动到另一个内容控件,关闭一个控件中的视图没有问题,将视图模型带到另一个演示者管理器,但如何将视图也设置在那里?我不想再次创建视图。

I need to move views from one content control to another, I have no problems with shutdown the views in one control take the view models to the other presentermanager but how can I set the view to be there also? I don't want the views to be created again.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〗斷ホ乔殘χμё〖 2024-10-04 13:29:48

由于视图实例缓存在 VM 内部,因此当您在不同的 PresenterManager 中打开 VM 时,您应该自动挂钩前一个实例。
您还必须将两个 ContentControl 中的每一个绑定到不同的 PresenterManager.CurrentPresenter:

<ContentControl cal:View.Model="{Binding PresenterManager1.CurrentPresenter}" />
<ContentControl cal:View.Model="{Binding PresenterManager2.CurrentPresenter}" />

(很抱歉属性命名中可能存在错误,您可能正在使用旧的 1.1 版本)

Since the view instance is cached inside the VM, you should automatically get the previous instance hooked when you open the VM in a different PresenterManager.
You also have to bind each of the two ContentControl to different PresenterManager.CurrentPresenter:

<ContentControl cal:View.Model="{Binding PresenterManager1.CurrentPresenter}" />
<ContentControl cal:View.Model="{Binding PresenterManager2.CurrentPresenter}" />

(sorry for possible errors in property naming, you are probably using old 1.1 version)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文