Двухсторонний веб-браузер URL с MVVM - PullRequest
0 голосов
/ 26 августа 2018

У меня есть 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

...