2011-09-07 56 views
2

我正在處理的項目是基於桌面的WPF應用程序。我已經在其中實現了MVVM模式。此外,我正在使用Unity IoC和存儲庫模式。如何使用NavigationService將對象傳遞給ViewModels?

我在主細節類型方案中遇到問題。我導航到詳細信息頁面(我已經使用IoC在ViewModel中公開NavigationService),但我不知道如何在不破壞MVVM模式的情況下在EmployeeDetails ViewModel中獲取employeeID。我不想在後面的代碼中寫任何東西。

任何指針都會非常有幫助。

問候。

回答

0

通常情況下,您通過在EmployeeMasterViewModel中暴露屬性CurrentEmployee來實現此目的。該屬性是綁定到主列表中當前選定項目的數據。
然後,您將詳細信息頁面的控件綁定到CurrentEmployee的屬性。

+0

如果主視圖模型和細節視圖模型都以某種方式嵌套在類中,這可能是可能的..但是我說的是具有不同ViewModel的兩個不同/獨立視圖,我使用NavigationService從一個視圖導航到另一個視圖。 –

+0

您不能使用[導航的重載](http://msdn.microsoft.com/zh-cn/library/ms591042.aspx)傳入當前選定的員工嗎? –

+0

不,因爲我無法引用ViewModel中的View類,只是爲了保留問題和MVVM模式的分離。我只能使用uri導航到頁面。 –