Мне нравится шаблон MVVM, как только вы начнете его использовать, вы зависите от него.
Я знаю, что в идеальном мире ваш код-код View почти пуст (возможно, какой-то код в конструкторе), и каждый аспект View обрабатывается из ViewModel.
Но бывают случаи, когда создание новых полей, свойств, команд в ViewModel создает больше кода, чем реализация одной и той же вещи в обработчике событий.
В данный момент я придерживаюсь следующего правила:
Если код обработчика событий обрабатывает очень небольшую часть его вида (например, обработчик события нажатия кнопки увеличивает шрифт определенного TextBlock, который находится на одном и том же представлении), тогда это ОК, чтобы реализовать логику внутри обработчиков событий. Но если View необходимо манипулировать бизнес-логикой или доступ к ресурсам, которые находятся за пределами представления, тогда я назначаю эти обязанности ViewModel.
Что вы думаете о моем подходе?
Что вы пытаетесь избежать при использовании обработчиков событий и ViewModel?
Какие рекомендации вы можете рекомендовать при использовании шаблона MVVM?