私はオブジェクトのリストを持って、それをCameraListと呼ぶことができます。そしてTreeViewにCameraListを表示するStructureWindowという1つのウィンドウがあります。 CameraListをグリッドに表示するViewerWindowという別のウィンドウがあります。各ウィンドウには、対応するViewModelがあります。どちらのViewModelもCameraListの同じインスタンスを使用する必要があります。これをどのように達成するのですか?どこでCameraListインスタンスを作成しますか?さまざまなViewModelから共有/アクセスするにはどうすればいいですか?WPF - ViewModels間でコレクションの1つのインスタンスを共有する方法
このアプリケーションの私のWinForms版では、静的なプロパティを保持する静的クラスを作成し、そこにCameraListをインスタンス化します。私はどこでもアプリケーションにアクセスできます。
しかし、MVVMパターンを使用してWPFに移行しようとしているので、WPFとMVVMでこれを行うベストプラクティスは何か疑問です。
Here's what I'm trying to achieve
親切に教えてください。乾杯。
あなたがカメラのリストなどのデータソース(モデル)を持つことになります異なるビューのためにMVVMパターンでは –
を一つのモデルを使用します。このリストから、2つの別々のビューモデルを作成できます。そのうちの1つは、ツリービューで必要な階層構造を持ちます。 – Chrille
それぞれのビューにはすでに別のViewModelがあるので、できません。 –