El WebBrowser
tiene un método NavigateToString que puede usar para navegar al contenido HTML. Si usted quiere ser capaz de unirse a ella, puede crear una propiedad adjunta que simplemente puede llamar al método cuando el valor cambia:
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);
}
}
Y la usaba como tal (donde lcl
es el xmlns-espacio de nombres -alias):
<WebBrowser lcl:BrowserBehavior.Html="{Binding HtmlToDisplay}" />
El segundo argumento para OnHtmlChanged debe ser de tipo DependencyPropertyChangedEventArgs. –
Adam, tienes razón, arreglado para reflejar eso. ¡Gracias! –
Agregué esto a mi código pero no me permite editarlo (una característica requerida). Soy bastante nuevo en wpf, por lo que no estoy seguro de qué cambiar para permitirme editar el html. –