привязка к моему текущему докладчику в калибре без обязательного соглашения - PullRequest
4 голосов
/ 29 августа 2010

в caliburn, когда я работаю с соглашением о связывании, и назову элемент управления содержимым «CurrentPresenter» фреймворк автоматически связывается с виртуальной машиной и находит соответствующее представление.

если я сделаю эту привязку вручную, представление не будет найдено .. Как я могу достичь этой способности без обязательного соглашения (мой взгляд, пользовательский элемент управления)

1 Ответ

10 голосов
/ 30 августа 2010

Необходимо связать с вложенным свойством View.Model, которое:

  • определяет правильный вид для представления виртуальной машины
  • связывает представление DataContext с виртуальной машиной
  • выдвигает представление в свойстве 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}" />
...