gpt4 book ai didi

wpf - 我可以将 HTML 绑定(bind)到 WPF Web 浏览器控件吗?

转载 作者:行者123 更新时间:2023-12-03 15:07:52 25 4
gpt4 key购买 nike

假设我有一个属性 HTML(字符串)。我可以将它绑定(bind)到 WPF WebBrowser 控件吗?我需要一个 URI 的 Source 属性,但是如果我在内存中有一个要呈现的 HTML 字符串,我可以这样做吗?我正在使用 MVVM,所以我认为它更难使用像 webBrowser1.NavigateToString() 这样的方法ETC?因为我不知道控件名称?

最佳答案

this问题。

总而言之,首先为 WebBrowser 创建一个附加属性

public class BrowserBehavior
{
public static readonly DependencyProperty HtmlProperty = DependencyProperty.RegisterAttached(
"Html",
typeof(string),
typeof(BrowserBehavior),
new FrameworkPropertyMetadata(OnHtmlChanged));

[AttachedPropertyBrowsableForType(typeof(WebBrowser))]
public static string GetHtml(WebBrowser d)
{
return (string)d.GetValue(HtmlProperty);
}

public static void SetHtml(WebBrowser d, string value)
{
d.SetValue(HtmlProperty, value);
}

static void OnHtmlChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
{
WebBrowser webBrowser = dependencyObject as WebBrowser;
if (webBrowser != null)
webBrowser.NavigateToString(e.NewValue as string ?? " ");
}
}

然后您可以绑定(bind)到您的 html 字符串,并且每次您的 html 字符串更改时都会调用 NavigateToString
<WebBrowser local:BrowserBehavior.Html="{Binding MyHtmlString}" />

关于wpf - 我可以将 HTML 绑定(bind)到 WPF Web 浏览器控件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4202961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com