2012-11-14 23 views
0

我有2個視圖及其視圖模型:選取器和編輯器。2個視圖模型之間的通信:一個視圖的內容取決於另一個的狀態

編輯器在開始時爲空,並等待使用選取器挑選某物。 選取器需要將選取的實體傳達給編輯器以使其初始化。

兩個視圖都不知道彼此之間的任何內容,應該由父視圖在他們都屬於的位置進行編排。

選取器視圖包含一個將其「SelectedItem」屬性綁定到其視圖模型的「Input」屬性的下拉列表。

編輯器視圖模型具有「初始化」方法,該方法接受應該來自選取器視圖模型的Input屬性的一個參數。

問題:如何結合選取器視圖模型的Input屬性和編輯器視圖模型的Initialize方法?

Illustation:

public class PickerViewModel { public InputInfo Input { get; set; } }

public class EditorViewModel { public void Initialize(InputInfo input) { /* blah-blah */ } } 

回答

0
+0

有沒有更簡單的方法?設置一個連接2個視圖的事件聚合器看起來對我來說太過矯枉過正。 –

+0

基本上我只需要將選擇器視圖模型的Input屬性的賦值轉換爲編輯器視圖模型上的方法調用。 –

+0

我在下面寫的所有內容 - 針對您的問題的最佳解決方案,但是如果您希望可以,只需存儲在一個ViewModel引用中即可。 但是你在你的問題中包含'mvvm'標籤,那麼你期望看到什麼? –

相關問題