2013-02-02 56 views
-2

我有一個View包含一個GridView對象和View代表的一個ViewModel。現在,我想重寫該ViewModel中的控件,以便保留相同的GUI但具有不同的業務邏輯(即包含在ViewModel中)。做這件事的正確方法是什麼?C#在MVVM設計模式(WPF)中擴展一個類

我認爲它不像擴展ViewModel那麼簡單,因爲它的GUI在View中(它有一個XAML組件)表示的問題。

有什麼想法?

謝謝。

編輯:固定錯字

+0

ViewModel中的控件?那是錯的。澄清你的問題。 – Joao

+0

你的問題難以理解 – Alan

+0

對不起,我犯了一些錯別字。這是固定的。另外,MVVM與MVC幾乎相同。所以視圖模型通常被視爲直接映射到控制器。 –

回答

0

我傾向於做什麼,是創建一個基本的ViewModel類,在它的標準的UI和控制邏輯。

然後我設置哪個函數/子我想單獨控制可覆蓋。但我使用默認代碼填充它們,例如標準的表單狀態(編輯/添加/刪除)代碼。當然,我想強制被重寫的任何設置都必須重寫。

然後,我創建一個基於View的ViewModel,從Base ViewModel類繼承,重寫我需要的方法,並將這個Individual ViewModel設置爲View的DataContext。

您可以使用此方法切換您喜歡的ViewModels,只要它們都從您的基本ViewModel類繼承。

我希望這有助於!