2010-04-06 17 views

Odpowiedz

96

Metoda ma metodę NavigateToString, za pomocą której można nawigować do treści HTML. Jeśli chcesz, aby móc powiązać go można tworzyć załączony właściwość, że może po prostu wywołujemy metodę, gdy wartość zmienia:

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); 
    } 
} 

I byłoby go używać jak tak (gdzie lcl jest xmlns-namespace -alias):

<WebBrowser lcl:BrowserBehavior.Html="{Binding HtmlToDisplay}" /> 
+0

Drugi argument za OnHtmlChanged powinny być typu DependencyPropertyChangedEventArgs. –

+0

Adam, masz rację, ustalone, aby to odzwierciedlić. Dzięki! –

+0

Dodałem to do mojego kodu, ale nie pozwala mi to edytować (wymagana funkcja). Jestem dość nowym użytkownikiem wpf, więc nie jestem pewien, co zmienić, aby umożliwić mi edycję html. –

Powiązane problemy