Ваши ViewModels не будут обращаться к элементам в View напрямую. Концепция заключается в том, что View будет привязываться к ViewModel, а не наоборот. Так; ваша ViewModel сообщит View, что отображать через значения, установленные в свойствах. Если вашему представлению нужно что-то отображать, у него будет привязка данных к свойству, предоставляющему это.
Команды будут удерживаться ViewModel, и вы можете связывать их слишком напрямую. Если вам нужна команда для обновления значений для представления, это можно сделать, удерживая ссылку из команды на необходимую ViewModel. (ViewModel, содержащая Команду, может, например, внедрить себя в команду при создании). Затем команда может сказать ViewModel обновить что-либо, и это будет отражено в View через привязки данных.
Для общего ознакомления с шаблоном MVVM вы можете проверить этот вопрос, который был задан несколько дней назад: Обучение MVVM для WPF .