Расширение класса ViewModelBase в наборе инструментов MVVM Light - PullRequest
1 голос
/ 15 февраля 2011

В наборе инструментов MVVM Light есть ViewModelBase, от которой наследуются все ViewModel. К сожалению, ViewModelBase встроен в dll для MVVM Light, поэтому я не знаю, как его расширить.

Я хочу добавить следующий код в конструктор ViewModelBase.

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

У меня в файле App.xaml.cs установлен флаг IsAuthenticated, который имеет значение true после того, как пользователь успешно прошел аутентификацию с помощью нашей пользовательской модели БД / аутентификации (при работе OOB без поставщика членства / роли).

Как мне расширить VMB, чтобы включить этот код?

Ответы [ 3 ]

4 голосов
/ 16 февраля 2011

Вы можете либо расширить ViewModelBase как предложено, либо использовать методы расширения.Если вы настроены избегать расширения, вам должна помочь модель метода расширения.

1 голос
/ 16 февраля 2011

Вы можете получить исходный код MVVM Light с mvvmlight.codeplex.com и изменить его.

1 голос
/ 15 февраля 2011

Создайте новый класс, который наследуется от ViewModelBase

...