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?