2010-04-08 24 views
0

我有一個UserControl UserControl1和UserControl1內的一個按鈕。我有一個UserControl1ViewModel,它具有該按鈕的ICommand屬性。使用這個命令,我需要從外部(從MainWindow的其他VM或VM)調用VM的方法。最佳做法是什麼?重新使用usercontrol內的控件

回答

0

你可能想通過洛朗比尼翁http://www.galasoft.ch/mvvm/getstarted/

這是幫助強制執行MVVM概念的輕量級工具來檢查MVVM精簡版。其中,每個viewmodel都是ViewModelLocator類中的靜態成員。例如,在你的命令中,你可以做這樣的事情。

ViewModelLocator.MainViewModel.MainContent = NewContent; 

你完全可以做到這一點沒有MVVM精簡版,但使用它確實有助於加快學習曲線和執行模塊化。

0

你很可能希望實現Mediator模式來處理兩個viewmodels之間的通信。

沿着同樣的另一個SO問題是: mvvm-view-model-view-model-communications

+0

我瞭解中介模式。但我很困惑我將如何允許外部處理程序的命令。 – Lance 2010-04-08 10:20:01

相關問題