在没有约束约定的情况下绑定到我当前的演示者

时间:2010-08-29 11:52:09

标签: caliburn

当我使用绑定约定时,

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

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

1 个答案:

答案 0 :(得分:10)

您应该绑定到View.Model附加属性,其中包含:

  • 找出代表VM的正确视图
  • 将视图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}" />