我正在使用WPF應用MVVM模式和不使用任何訪問數據庫中的一個視圖模型的對象在另一個視圖模型中的WPF應用程序。我堅持到問題,我有哪個用戶上傳一些excel文件和視圖模型命名爲UploadViewModel在此我讀上傳的文件數據,並保持它在某些DataTable對象是UploadvViewModals類的對象,它是工作正常,但一個視圖UploadView我的問題是,現在我要顯示上傳的數據(數據表對象)它在一些ItemsControl中具有不同Viewmodal一些另一視圖。 作爲在WPF和窗戶向一個新手,不知道如何着手。 有什麼可能的方法來做到這一點?如何使用MVVM
Q
如何使用MVVM
4
A
回答
3
你可以在EventAggragation(調解模式)一個戰利品
其他一些tutorial開始
1
有幾個方法可以做到這一點取決於如何結合鬆散兩個視圖模型。如果您在上傳視圖模型中直接引用了第二個視圖模型,則可以在顯示此視圖模型/視圖時傳遞數據。
這似乎是最明智的選擇,如果A)的數據是第二視圖模型的要求和b)上傳視圖模型是負責創建第二個視圖模式。在這種情況下,您可以將數據作爲第二個視圖模型構造函數中的依賴項傳遞。
替代方法包括使用事件聚合作爲調解人可以在兩個視圖模型之間的數據,但我會用第一種方法去。
1
如果你使用MVVM,你應該在你的模型類訪問Excel文件。 ViewModels通常用於將模型數據轉換爲您的Views可以顯示的格式,而不是用於訪問數據。
相關問題
- 1. 如何使用MVVM
- 2. 如何使用MVVM
- 3. 如何強制使用MVVM
- 4. 如何使用MVVM光
- 5. 如何使用TreeViewDragDropTarget MVVM
- 6. 如何使用MVVM設計
- 7. 如何使用MVVM從DataGrid中獲取SelectedItems使用MVVM
- 8. 如何,如果我不使用MVVM
- 9. 如何在Mvvm Light中使用ViewModelLocator
- 10. 如何使用UserControl DP和MVVM
- 11. 如何使用mvvm-light Messenger接收DialogResult
- 12. 如何使用DataGrid和MVVM添加行
- 13. 如何在MVVM中使用AutoSeriesGenerator Visiblox
- 14. 如何在MVVM中使用ApplicationCommands
- 15. 如何在MVVM Light中使用MainSkin.xaml?
- 16. 如何驗證使用WPF/MVVM
- 17. 如何使用MVVM與CRUD操作?
- 18. 如何使用集合構造MVVM?
- 19. 如何使用MVVM刷新我的DataGrid
- 20. 如何使用MVVM中的數據?
- 21. 如何在UWP MVVM中使用CalenderView
- 22. 如何在MVVM中使用消息框?
- 23. 如何在MVVM Light中使用AutoCompleteBox?
- 24. 如何在MVVM Light v5中使用invokationCommandAction?
- 25. 如何使用WCF實現MVVM?
- 26. 如何使用MVVM方法實現DataGrid
- 27. 如何使用WPF treeview實現MVVM?
- 28. 如何在按鈕使用relaycommand MVVM
- 29. 如何在Prism(MVVM)中使用Windows.Devices.Enumeration.DevicePicker?
- 30. 如何在MVVM中使用Progressbar
是。我有我的UploadViewModel中的第二個viewmodel直接引用,我也可以傳遞該數據作爲構造參數。但一旦我關閉這個上傳視圖窗口,然後打開其中一個負責顯示上傳的數據第二種觀點,所有的數據刷新出來,給我空的數據表。 – SST
那麼,如所提到的,數據應被存儲在傳遞到您的第二視圖模型的模型,所以所上傳的數據應該轉換成可被存儲爲狀態模型中的一個格式(例如一個字節數組) – devdigital