我一定误解了ViewModels
和视图的概念。但此时我无法从地面重建应用程序,而这次做得更好。我的情况是我有一个视图,用户可以在其中加载文件并阅读它们,绘图仪显示图形并实现了一些操作。我希望能够生成数据的报告(如摘要),但我希望它在其他视图中。我正在使用ModernUI,这个另一个视图在另一个选项卡中。
我想要的是两个选项卡同步,当我在“绘图仪选项卡”中加载文件时,该文件也必须在另一个视图中加载。为此,我认为我需要将视图绑定到相同的视图ViewModel
,例如LoadedFiles = List<File>
,我将能够实现它。问题是,如果我绑定它
MainViewModel vm = new MainViewModel();
DataContext = vm;
或在 XAML 中
<UserControl.Resources>
<UserControl.DataContext=local:MainViewModel/>
</UserControl.Resources>
我实际上绑定到不同的 MainViewModels 并且不再共享数据。我是否需要 MVVM 库中的一些类,例如 Locator 等?如何做到这一点?将来我该怎么做才能为每个 View 拥有单独的 ViewModel 但相同(或不同)的数据?