2009-08-17 47 views
1

我很新的MVVM甚至WPF在一定程度上使容忍我...正確的方式引導RelayCommand的處理到一個視圖模型父

我有一個MVVM應用它有一個主窗口,包含取決於應用程序狀態的不同類型的視圖模型實例。其中一種視圖模型是一個選項屏幕,其中包含一個按鈕,用於重新啓動應用程序並以不同的用戶身份登錄到數據庫。 使用RelayCommand,我該如何讓父母(主窗口)處理此命令併發出Window.Close()方法調用?

回答

1

在父視圖模型上定義RelayCommand。關聯的處理程序也將在父視圖模型中定義。

現在,當您創建子視圖模塊時,將Paremtn視圖模型對象傳遞給構造函數(依賴注入模式)中的Child ViewModel。

現在您可以爲您的視圖或視圖模型設置命令綁定。

另一種替代方案是實際使用路由命令而不是中繼命令,讓它冒泡給你parentview模型。

+0

這實際上是非常有意義的,我覺得自己是一個傻瓜,沒有意識到它之前。 – Firoso 2009-12-11 22:19:50

相關問題