5

我在 WPF 应用程序中使用 mvvm 模式而不使用任何数据库。我遇到了一个问题,我有一个视图 UploadView,其中用户上传了一些 excel 文件及其名为 UploadViewModel 的视图模型,我读取上传的文件数据并将其保存在一些数据表对象中,该对象是 UploadvViewModals 类的对象,它工作正常但是我的问题是,现在我必须在具有不同 Viewmodal 的某些 ItemsControl 中的另一个视图上显示上传的数据(数据表对象)。作为 WPF 和 windows 的新手。我不知道如何进行。有哪些可能的方法来做到这一点?

4

3 回答 3

3

您可以在EventAggregation(中介模式)中获得战利品

其他一些教程开始

于 2012-09-17T13:14:04.837 回答
1

有几种方法可以做到这一点,具体取决于两个视图模型的松散耦合程度。如果您在上传视图模型中直接引用了第二个视图模型,那么您可以在显示此视图模型/视图时传递数据。

如果 a) 数据是第二个视图模型的要求,并且 b) 上传视图模型负责创建第二个视图模型,这似乎是最明智的选择。在这种情况下,您可以将数据作为依赖项传递到第二个视图模型的构造函数中。

替代方法包括使用事件聚合器作为中介在两个视图模型之间传递数据,但我会采用第一种方法。

于 2012-09-17T13:15:56.990 回答
1

如果您使用的是 MVVM,那么您确实应该在 Model 类中访问 Excel 文件。ViewModel 通常用于将模型数据转换为 View 可以显示的格式,而不是用于访问数据。

于 2012-09-17T13:16:38.050 回答