1) Поймите, что существуют разные «ароматы» MVVM.Строгие / хардкорные шаблоны MVVM, хотя теоретически необходимы, не нужны.
2) Многие события просмотра могут обрабатываться с помощью команд.WPF поддерживает это, и я верю, что Silverlight 4 тоже.Простым представлением-событием, с которого можно начать, было бы нажатие кнопки.Это позволяет вам обрабатывать событие в ViewModel (вместо «выделенного кода» представления).
3) Для таких вещей, как включение / отключение элементов управления / состояний представления через модель MVVM, вот пример /объяснение:
- Элементы управления Xaml (скажем, кнопка) привязаны к данным для ViewModel для любого свойства (в данном случае это будет свойство IsEnabled кнопки).
- ВашViewModel имеет свойство IsButtonEnabled.
- Всякий раз, когда вы изменяете это свойство в виртуальной машине, поднимите уведомление PropertyChanged, и вы увидите связанный результат в виде (состояние IsEnabled кнопки будет обновлено).
ps - с помощью свойств виртуальной машины вы можете делать многие вещи таким образом: от текста до различных состояний свойств, цвета, вы даже можете воспроизводить анимации в установщиках / получателях свойств ... и т. Д.
Приветствия