Целью MVVM является значительное уменьшение количества кода в вашем классе code-behind вашей формы WPF или пользовательского элемента управления. Идея состоит в том, что все, что будет обрабатываться представлением в классическом MVC / MVP, может быть преобразовано в виртуальную машину с помощью комбинации привязки данных и / или команд. В моем общем использовании MVVM мне удалось полностью удалить весь выделенный код в моих формах / пользовательских элементах управления, и виртуальная машина не имеет прямого представления о представлении, которым она управляет. Если вы столкнулись с ситуацией, которую действительно нельзя обработать с помощью привязки данных или команды, пожалуйста, уточните ваш начальный вопрос, и я (или один из многих, многих более талантливых MVVM'еров здесь) попытаюсь указать вам правильное направление .