WebBrowser本身并没有提供MVVM方式更新网页内容的方式。
因为现在公司的项目基本上都使用MVVM的方式开发了。
所以想着,也可以简单地封装一个类来实现前后台绑定的功能
实现代码:
public static class WebBrowserBehaviour
{
public static readonly DependencyProperty HtmlTextProperty =
DependencyProperty.RegisterAttached(
"HtmlText",
typeof(string),
typeof(WebBrowserBehaviour),
new UIPropertyMetadata(null, (s, e) =>
{
if (s is WebBrowser ue && e.NewValue != null)
{
ue.NavigateToString(e.NewValue?.ToString());
}
})
);
public static string GetHtmlText(DependencyObject obj)
{
return (string)obj.GetValue(HtmlTextProperty);
}
public static void SetHtmlText(DependencyObject obj, string value)
{
obj.SetValue(HtmlTextProperty, value);
}
}
前台使用:
<WebBrowser cg2:WebBrowserBehaviour.HtmlText="{Binding HtmlText, Mode=OneWay}" />
标签:obj,string,MVVM,绑定,WebBrowser,static,public
From: https://www.cnblogs.com/wzwyc/p/18496063