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