如何使用MVVM访问一个视图模型的对象在另一个视图模型在WPF应用程序(How to access

2019-09-22 13:04发布

我使用MVVM模式在WPF应用程序,不使用任何数据库。 我坚持到问题,我有哪个用户上传一些excel文件和视图模型命名为UploadViewModel在此我读上传的文件数据,并保持它在某些DataTable对象是UploadvViewModals类的对象,它是工作正常,但一个视图UploadView我的问题是,现在我要显示上传的数据(数据表对象)它在一些ItemsControl中具有不同Viewmodal一些另一视图。 作为在WPF和窗户向一个新手,不知道如何着手。 什么是可能的方式来做到这一点?

Answer 1:

您可以乘坐战利品EventAggragation (调解模式)

其他一些教程开始



Answer 2:

有几个方法可以做到这取决于这两个视图模型如何松散耦合的。 如果你有一个直接引用在上载视图模型的第二视图模型,那么你可以当显示此视图模型/视图传递数据。

这似乎是最明智的选择,如果A)的数据是第二视图模型的要求和b)上传视图模型是负责创建第二个视图模式。 在这种情况下,你可以通过数据作为第二视图模型的构造函数的依赖。

替代方法包括使用事件聚合作为调解人可以在两个视图模型之间的数据,但我会用第一种方法去。



Answer 3:

如果你使用MVVM,你应该在你的模型类访问Excel文件。 所述的ViewModels通常用于模型数据转换为您的视图可以显示,而不是用于访问数据的格式。



文章来源: How to access one ViewModel's object in another ViewModel in WPF application using MVVM
标签: c# wpf mvvm