Вы можете создать свою ViewModel как StaticResource в вашем XAML. Проблема с установкой DataContext для вашей ViewModel заключается в том, что вы не можете использовать его, вы больше не можете использовать свой DataContext из окна или страницы, на которой вы используете элемент управления.
В вашем XAML объявите вашу ViewModel:
<myNS:MyViewModel x:Key="ViewModel />
Ссылка на вашу модель представления в вашем XAML:
<TextBlock Text="{Binding Source={StaticResource ViewModel}, Path=TextToBind}" />
В вашем коде Позади вы можете быстро получить доступ и инициализировать, я обычно делаю свойство для удобной ссылки на мою модель представления.
private MyViewModel viewModel
{
get { return this.Resources["ViewModel"] as MyViewModel; }
}