2010-04-06 2 views

답변

96

WebBrowser에는 HTML 콘텐츠를 탐색하는 데 사용할 수있는 NavigateToString 메서드가 있습니다.

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 이름 공간이 어디에 당신이 (그래서 같이 사용할 것이다 : 당신이 그것을 결합 할 수 있도록하려면, 당신은 값이 변경 될 때 단지 방법을 호출 할 수 있습니다 연결된 속성을 만들 수 있습니다 -alias) :

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

OnHtmlChanged의 두 번째 인수는 DependencyPropertyChangedEventArgs 유형이어야합니다. –

+0

Adam, 당신이 맞습니다, 그것을 반영하도록 고쳐졌습니다. 감사! –

+0

이 코드를 내 코드에 추가했지만 편집 할 수 없습니다 (필수 기능). 나는 wpf에 상당히 새로운 것이므로 html을 편집 할 수 있도록 변경해야하는 것이 확실하지 않습니다. –

관련 문제