1

レイアウトに を使用してアプリケーションを作成しDockPanelています。「左」では、リンクがクリックされたときにDockPanel別のものを開くために使用するいくつかのリンク (ラベル) をセットアップしました。適切なリンクがクリックされたときに、常に「右」の DockPanel で開くようにしますUserControlsUserControls

これを達成するために、WPF (MVVM を使用) のどのメカニズムを使用しますか? 表示できる例はありますか?

4

1 に答える 1

4

従うべき一般的なパターンは次のとおりです。

  1. ContentPresenter切り替え可能なコンテンツをホストするユーザー インターフェイスの場所 (この場合は の右側のパネル) に を追加DockPanelします。
  2. 切り替え可能な各ビューの視覚的表現は、ユーザー コントロールによって表されます。
  3. 切り替え可能な各ビューのデータは、viewModel によって表されます。
  4. のプロパティを、ビュー EG を表す viewModel タイプのビュー モデル内のContentプロパティにバインドします。ContentPresenterBoundContent
  5. リンクがクリックされると、viewModel はバインドされたプロパティを変更し、PropertyChangedイベントを発生させてビューに通知することで、これに反応する必要があります。
  6. 切り替えることができる「ビュー」DataTemplateごとに、各ユーザー コントロールを各ビューモデルにマップする が必要になります。

Rachel Limsブログには、上記を示す例がいくつか含まれています。

于 2012-12-13T16:49:29.287 に答える