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'のパラメータ 'e'に指定されていません。OnHtmlChanged(dはSystem.Windows.DependencyObject、System.Windows.DependencyPropertyChangedEventArgsとして)
および
'Html'というタイプの添付可能なプロパティが 'PortraitSingle'に見つかりませんでした。 (PortraitSingleは私のウィンドウの名前です)。
私はそれらを回避する方法を考えることができません。
また、Webブラウザーコントロールに実際にHTMLを読み込む方法がわかりません。
ベン