3

実行時にNavigateToStringを使用できるように、WPF Webブラウザーにプロパティを追加しようとしていますが、例外が発生します。

SystemError:不明なメンバー'{clr-namespace:WebBrowserHelper; Assembly =helpers}WebBrowserHelper.Body'を設定できません。

これの作業バージョンがC#アセンブリにありますが、IronPythonを使用してどのように実行できるか知りたいです。

私のns宣言は次のようになります。

xmlns:helpers="clr-namespace:WebBrowserHelper;Assembly=helpers"

そしてそれはこのように使用されます:

<WebBrowser helpers:WebBrowserHelper.Body="{Binding html}" />

これはIronPythonコードです:

import clr

clr.AddReference("System.Windows")
clr.AddReference("WindowsBase")
clr.AddReference("PresentationCore")
clr.AddReference("PresentationFramework")

from System.Windows import (
DependencyObject, DependencyProperty
)

class WebBrowserHelper(DependencyObject):
    _Body = None

    def __new__(cls):
        if notWebBrowserHelper._Body:
            WebBrowserHelper._Body = DependencyProperty.RegisterAttached(
                "Body", clr.GetClrType(str), clr.GetClrType(WebBrowserHelper), PropertyMetadata(WebBrowserHelper.OnBodyChanged))
        return DependencyObject.__new__(cls)

    def getBody(self):
        return self.GetValue(WebBrowserHelper._Body)

    def setBody(self, value):
        self.SetValue(WebBrowserHelper._Body, value)

    @staticmethod
    def OnBodyChanged(dependancyObject, eventArgs):
        dependancyObject.NavigateToString(eventArgs.NewValue)

    Body = property(getBody, setBody)
4

0 に答える 0