Я еще не сталкивался ни с чем, что невозможно сделать после MVVM. Некоторые вещи сложны, да, но как только решение найдено, трудности исчезают. Каждый раз, когда вы сталкиваетесь с чем-то сложным, помните о двух «больших орудиях» в этом паттерне: привязанное поведение и услуги. Поскольку эти две концепции находятся под вашим полным контролем, вы ничего не можете сделать с помощью кода, который вы не можете сделать более чистым, дружественным к MVVM способом. Сложность здесь заключается в том, чтобы найти лучший, наиболее многократно используемый дизайн ... но это верно для любого кода.
Когда отказ от MVVM имеет смысл? Это зависит от вашего определения отказа, но простой ответ - никогда . Если у вас есть конкретная проблема, с которой вы сталкиваетесь, и у вас нет времени, чтобы найти чистое решение, тогда прагматичным решением будет отказаться от шаблона для этой единственной проблемной области , а не полностью как от вашей. Пример сложности подсказывает.
Когда откажется от MVVM, потом тебя калечит? Когда вам нужно поддерживать приложение.
Когда не имеет значения выход из MVVM? Демо / примеры программ, одноразовые / простые утилиты и т.п.