ビューとビューの概念を誤解していたに違いありませんViewModels
。しかし、現時点では、アプリケーションをゼロから再構築することはできず、今回はそれを改善しています。私の状況では、ユーザーがファイルをロードして読み取ることができるビューがあり、プロッターがグラフを表示し、いくつかの操作が実装されています。データのレポート (概要など) を生成できるようにしたいのですが、別のビューで表示したいのです。私はModernUIを使用しています。この他のビューは別のタブにあります。
私が望むのは、2 つのタブを同期させることです。「プロッタ タブ」にファイルをロードすると、そのファイルは他のビューにもロードする必要があります。そのために必要なのは、ビューを同じ にバインドすることだと思います。ViewModel
たとえばLoadedFiles = List<File>
、 があるので、それを達成することができます。問題は、どちらかをバインドすると
MainViewModel vm = new MainViewModel();
DataContext = vm;
またはXAMLで
<UserControl.Resources>
<UserControl.DataContext=local:MainViewModel/>
</UserControl.Resources>
私は実際にさまざまな MainViewModels にバインドしていますが、データはもう共有されていません。Locator などの MVVM ライブラリのいくつかのクラスが必要ですか? これはどのように行うことができますか?ビューごとに個別の ViewModel を使用するが、データは同じ (または異なる) ようにするために、将来何ができますか?