Это зависит от объема UserControl. Если это относится к приложению и вряд ли будет полезным в других местах, то да, вероятно, должна быть предоставлена общедоступная модель представления.
Тем не менее, общедоступная ViewModel, вероятно, будет менее полезна, когда ожидается повторное использование элемента управления. Элемент управления может использовать ViewModel внутренне , но это следует держать в секрете. Затем хост-приложение использует элемент управления аналогично любому другому элементу управления WPF и создает свою собственную модель представления для привязки элемента управления к приложению.
По сути, ViewModel, как правило, относится к конкретному приложению - он специально предназначен для нужд этого приложения. Принимая во внимание, что элементы управления общего назначения предоставляют свойства и события, которые позволяют их использовать в любом приложении.