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