Это не побеждает цель инструментария.Инструментарий предоставляет легкую основу для отделения вашего вида от вашей модели, что, безусловно, полезно при модульном тестировании.
Они повторно использовали перечисления, поэтому им не пришлось их переписывать.Определенно, кажется немного странным повторно использовать перечисления, специфичные для пользовательского интерфейса, но, по крайней мере, они не являются обработчиками событий и аргументами событий.
Наконец, MVVM использует команды, что требует реализации ICommand интерфейс.Этот интерфейс находится в PresentationCore и еще более специфичен для пользовательского интерфейса:)
В целом, цель состоит не в том, чтобы удалять ссылки, а в том, чтобы не использовать эти ссылки как можно лучше, и перечисления определенно не нарушают шаблон.