1
我試圖讓WebBrowser控件顯示從變量加載的HTML。我發現這個解決方案Displaying html from string in WPF WebBrowser control所以我試圖實現我的第一個DependencyProperty。試圖爲WebBrowser控件註冊DependencyProperty
這是我在嘗試執行:
Public Shared ReadOnly HtmlProperty As DependencyProperty = DependencyProperty.RegisterAttached("Html", GetType(String), GetType(PortraitSingle), New FrameworkPropertyMetadata(OnHtmlChanged))
<AttachedPropertyBrowsableForType(GetType(WebBrowser))> _
Public Shared Function GetHtml(ByVal d As WebBrowser) As String
Return DirectCast(d.GetValue(HtmlProperty), String)
End Function
Public Shared Sub SetHtml(ByVal d As WebBrowser, ByVal value As String)
d.SetValue(HtmlProperty, value)
End Sub
Private Shared Sub OnHtmlChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
Dim wb As WebBrowser = TryCast(d, WebBrowser)
If wb IsNot Nothing Then
wb.NavigateToString(TryCast(e.NewValue, String))
End If
End Sub
和XAML
<WebBrowser x:Name="HTMLDescription" Grid.RowSpan="2" Margin="10" local:PortraitSingle.Html="{Binding HtmlToDisplay}"></WebBrowser>
首先,我遇到的問題是,我發現了以下錯誤:
未爲'Private Shared Sub OnHtmlChanged(d As System.Windows.DependencyObject,e As System.Windows.DependencyPropertyChangedEventArgs)'的參數'e'指定的參數
and
在'PortraitSingle'類型中找不到可附加屬性'Html'。 (PortraitSingle是我的窗口的名稱)。
我無法解決如何避開它們。
另外,我不明白我是如何實際加載我的HTML到WebBrowser控件。
本