Я не совсем уверен, что понимаю вопрос (вы хотите вызвать метод в WebBrowser, но для этого нужна строка html?).
MVVM - это не то, что нужно избегать выделенного кода, такого как чума, а то, что файлы выделенного кода относятся к задачам со строго пользовательским интерфейсом.
Если вы настроили свой пользовательский интерфейс так, чтобы он включал типичную кнопку адресной строки + кнопку «Перейти», вы захотите использовать обработчик нажатия кнопок для передачи строки в браузер. В качестве альтернативы строка может быть свойством ViewModel, и вы можете легко собрать ее, связав ее со свойством Tag веб-браузера.
Ваш интерфейс будет выглядеть примерно так:
<TextBox x:Name="addressBar" /> <!-- If you use the address bar -->
<Button Content="Go" Click="NavigateButton_Click" />
<WebBrowser x:Name="browser" Tag="{Binding URL}" /> <!-- If you bind to a VM property -->
Ваш код может выглядеть следующим образом:
void NavigateButton_Click(object sender, RoutedEventArgs e)
{
browser.Navigate(new Uri(addressBar.Text)); // Address Bar
browser.Navigate(new Uri(browser.Tag.ToString()); // Tag Binding
}