51
내 데이터 컨텍스트 개체에 WebBrowser 컨트롤에 표시해야하는 html을 반환하는 문자열 속성이 있습니다. WebBrowser를 바인딩 할 속성을 찾을 수 없습니다. 어떤 아이디어?WPF WebBrowser 컨트롤의 문자열에서 html 표시
감사합니다.
내 데이터 컨텍스트 개체에 WebBrowser 컨트롤에 표시해야하는 html을 반환하는 문자열 속성이 있습니다. WebBrowser를 바인딩 할 속성을 찾을 수 없습니다. 어떤 아이디어?WPF WebBrowser 컨트롤의 문자열에서 html 표시
감사합니다.
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}" />
OnHtmlChanged의 두 번째 인수는 DependencyPropertyChangedEventArgs 유형이어야합니다. –
Adam, 당신이 맞습니다, 그것을 반영하도록 고쳐졌습니다. 감사! –
이 코드를 내 코드에 추가했지만 편집 할 수 없습니다 (필수 기능). 나는 wpf에 상당히 새로운 것이므로 html을 편집 할 수 있도록 변경해야하는 것이 확실하지 않습니다. –