2011-02-03 103 views
1

我正在使用Prism。 我在我的父視圖中有一個tabcontrol。我的選項卡控件中有兩個選項卡。每個選項卡都有不同的視圖。每個選項卡都有一個按鈕,可能會或可能不會(取決於某些內部邏輯)導致tabcontrol切換到不同的選項卡。建立這樣的架構的最佳實踐是什麼?WPF如何從MVVM中的子ViewModel調用父ViewModel中的某些邏輯

我反對使用EventAggregator,因爲我認爲它很潦草,容易被誤用。 有沒有另一種方法來做到這一點?我應該使用RoutedCommand還是事件?

我也將在選項卡之間共享信息,但我希望它們鬆散耦合並具有不同的ViewModels。任何想法,建議或批評?

謝謝! Brett

回答

1

我的第一選擇,一般是有孩子視圖模型引發事件,併爲家長設置其處理程序時,它創建子。

但有很多方法可以做這種事情。例如,如果所有的製表符切換邏輯都存在於父項中,則可以在父項上創建一個命令,並使用綁定將該按鈕綁定到該項。那麼你根本不需要觸摸子視圖模型。

4

我寫了一篇博客文章,回顧了兒童到父母ViewModel溝通的一些選項。可能會給你一些想法。

Nested ViewModels

相關問題