我的数据上下文对象包含一个字符串属性,该属性返回需要在WebBrowser控件中显示的html;我找不到WebBrowser的任何属性来绑定它。有什么想法吗?
谢谢!
发布于 2010-04-06 23:54:46
该WebBrowser
有一个NavigateToString方法,您可以使用该方法导航到HTML内容。如果您希望能够绑定到该方法,则可以创建一个附加属性,该属性可以在值更改时仅调用该方法:
public static 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 d, DependencyPropertyChangedEventArgs e)
{
WebBrowser wb = d as WebBrowser;
if (wb != null)
wb.NavigateToString(e.NewValue as string);
}
}
您可以这样使用它(其中lcl
是xmlns-namespace-alias):
<WebBrowser lcl:BrowserBehavior.Html="{Binding HtmlToDisplay}" />
https://stackoverflow.com/questions/2585782
复制相似问题