4

caliburn でバインド規則を使用し、コンテンツ コントロールに「CurrentPresenter」という名前を付けると、フレームワークは自動的に vm にバインドし、関連するビューを見つけます。

このバインドを手動で行うと、ビューが見つかりません..バインド規則なしでこの機能を実現するにはどうすればよいですか (私のビューはユーザーコントロールです)

4

1 に答える 1

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}" />
于 2010-08-30T15:48:44.293 に答える