2011-02-15 62 views
1

MVVM Light工具包具有所有ViewModel繼承自的ViewModelBase。不幸的是,ViewModelBase內置於MVVM Light的dll中,所以我不知道如何擴展它。在MVVM Light工具包中擴展ViewModelBase類

我想將下面的代碼添加到ViewModelBase的構造函數中。

if (!App.IsAuthenticated) { 
//MVVM Navigation code here 
} 

我有一個IsAuthenticated標誌在設置爲true我App.xaml.cs設置後用戶成功通過我們的定製DB /驗證模型驗證(不含會員/角色提供運行OOB)。

如何擴展VMB以包含此代碼?

回答

1

創建從ViewModelBase

+0

我想過,但默認情況下,每個ViewModel都從ViewModelBase(MVVM Light ViewModel模板的一部分)繼承,所以我必須記住每次都要手動更改繼承代碼。這不是世界末日,但我希望避免這種情況。 – 2011-02-15 19:50:37

+0

您也可以使用Snippets Manager更改模板(或創建一個新模板)。 – 2014-05-21 15:58:48

4

繼承您可以提議延長ViewModelBase,或使用擴展方法一個新的類。如果您設置爲避免擴展,擴展方法模型應該可以幫助您。

+0

太棒了!作者來了! – 2013-05-22 14:54:45