0

ビューから別のビューに移動するために、WPFのナビゲーションサービスを実装しました。これを行うには、適切な「GalasoftMessenger」を受信するたびにビューから別のビューに移動するViewModelLocatorを使用します。

わかった。

さて、Views-ViewModelsのカップルがたくさんあるので、いくつかのビューで共有される(XAMLに含まれる)ユーザーコントロールを作成することにしました。このUserControlには独自のViewModelがあり、ビューに応じてその外観を設定するためのいくつかのプロパティが現在表示されています。

現在表示されている(ユーザーコントロール内にある)ビューからUserControlのViewModelのプロパティにアクセスするにはどうすればよいですか?

さらに、現在表示されているビューをどのように(そしてどこで)判断できますか?

必要に応じて役立つコードを投稿できますが、答えは短くて単純だと思いますが、どういうわけか何かを逃しました...

ありがとうございました。

L

4

1 に答える 1

0

ビューモデルにアクセスしたいユーザーコントロールをホストするとき、私は通常、この回答のように、データバインドされた DataTemplate にフックされた ContentControl を使用します。ビューモデルが使用するビューを切り替える必要がある場合は、この回答のようなトリガーを使用できます。

このセットアップを使用すると、ユーザー コントロールのビュー モデルに必要なすべてのプロパティを設定できるだけでなく、ユーザー コントロールが使用しているビューを知ることができます。

于 2012-04-12T14:59:36.800 に答える