У меня есть WebBrowser Helper, который преобразует строковую переменную из ViewModel в URL-адрес для WebBrowser.
public static class WebBrowserHelper
{
public static readonly DependencyProperty BindableSourceProperty =
DependencyProperty.RegisterAttached("BindableSource", typeof(string), typeof(WebBrowserHelper), new UIPropertyMetadata(null, BindableSourcePropertyChanged));
public static string GetBindableSource(DependencyObject obj)
{
return (string)obj.GetValue(BindableSourceProperty);
}
public static void SetBindableSource(DependencyObject obj, string value)
{
obj.SetValue(BindableSourceProperty, value);
}
public static void BindableSourcePropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
WebBrowser browser = o as WebBrowser;
if (browser != null)
{
string uri = e.NewValue as string;
browser.Source = !String.IsNullOrEmpty(uri) ? new Uri(uri) : null;
}
}
}
Как мне получить двухстороннее обновление URL?Например, если я нажму на ссылку и перенаправлю на другую страницу, переменная во ViewModel тоже изменится. Синхронная строковая переменная с URL WebBrowser.И важно, что это должно быть MVVM