AWC,
По моему опыту, это лучшая практика , чтобы не оставлять все проблемы WPF вне ViewModel . Я не говорю о классах, специфичных для View (списки, textBlocks и т. Д.), Но мы всегда должны помнить, что управление доступом к потоку пользовательского интерфейса является важной частью WPF и должно поддерживаться внутри ViewModel. Это связано с тем, что представление отвечает только за предоставление четкого шаблона для представления данных, предоставляемых виртуальной машиной. Именно ViewModel решает, должны ли данные извлекаться асинхронно и при каких обстоятельствах они должны быть связаны - выше подразумевается использование Dispatcher, который управляет доступом к потоку пользовательского интерфейса. Итак, мой ответ: не забывайте, что WPF - это не только класс View.
Полагаю, вы хотели спросить, не должны ли разработчики беспокоиться о View в классах VM. Если я прав, ответ да , они не должны беспокоиться. ViewModel - это просто слой, предоставляющий полный набор данных / команд анонимному докладчику (View) - ему все равно, какая часть предоставленных данных будет использоваться связанными представлениями, и ни как эти данные будут представлены.
Надеюсь, мой ответ полезен. Пожалуйста, не стесняйтесь спрашивать, если у вас есть какие-либо дополнительные вопросы.