Dwa widoki - jeden ViewModel

Musiałem źle zrozumieć pojęcieViewModels i widoki. Ale w tej chwili nie mogę odbudować aplikacji z ziemi i tym razem lepiej. Moja sytuacja jest taka, że ​​mam widok, w którym użytkownik może załadować pliki i je odczytać, ploter pokazuje wykresy i niektóre operacje są realizowane. Chcę mieć możliwość generowania raportów (takich jak podsumowanie) danych, ale chcę je mieć w innym widoku. używamModernUI, ten inny widok znajduje się w innej karcie.

Chcę, aby dwie karty były zsynchronizowane, gdy ładuję plik na „kartę plotera”, plik musi być także załadowany w innym widoku. Myślę, że do tego potrzebuję powiązania widoku z tym samymViewModel, gdzie mam na przykładLoadedFiles = List<File>, więc będę mógł to osiągnąć. Problem polega na tym, że ja też ją wiążę

MainViewModel vm = new MainViewModel();
DataContext = vm;

lub w XAML

<UserControl.Resources>
<UserControl.DataContext=local:MainViewModel/>
</UserControl.Resources>

W rzeczywistości wiążę się z różnymi MainViewModels, a dane nie są już udostępniane. Czy potrzebuję niektórych klas z bibliotek MVVM takich lokalizacji i tak? Jak można to zrobić? Co mogę zrobić w przyszłości, aby mieć oddzielne ViewModels dla każdego widoku, ale te same (lub różne) dane?

questionAnswers(3)

yourAnswerToTheQuestion