4

在 caliburn 中,当我使用绑定约定并将内容控件命名为“CurrentPresenter”时,框架会自动绑定到 vm 并找到相关视图。

如果我手动执行此绑定,则未找到视图..如果没有绑定约定,我如何实现此功能(我的视图是用户控件)

4

1 回答 1

10

您应该绑定到 View.Model 附加属性,该属性:

  • 找出代表虚拟机的正确视图
  • 将视图 DataContext 绑定到 VM
  • 在 ContentControl 的 Content 属性中推送视图

例子:

<!-- Caliburn v1.x -->
<ContentControl cal:View.Model="{Binding CurrentPresenter}" />

前面的代码片段在 Caliburn v1.x 中工作,而在 Caliburn v2 和Caliburn.Micro IPresesenterManager 被重命名为 IConductor(对接口成员也进行了一些更改),所以绑定应该是:

<!-- Caliburn v2 & Caliburn.Micro -->
<ContentControl cal:View.Model="{Binding ActiveItem}" />
于 2010-08-30T15:48:44.293 回答