38

XAMLファイル (WPF UserControl) で、別のクラス "A" で定義された内部クラス "B" を参照する方法はあります?

public class A
{
    public class B
    {
    }
}

何かのようなもの :

<local:A.B ... />

"B" はクラス "A" の "B" という名前のプロパティとして解釈されるため、この構文は機能しません。

「::」や「+」などのよりエキゾチックな構文を試してみましたが、どれも機能しないようです。

現在、 VS2010でSilverlight 4を使用しています。

よろしくお願いします。

4

3 に答える 3

54

この質問はかなり古いもので、2010 年のバージョンの WPF で機能したかどうかはわかりませんが、ネストされた型の「実際の」(内部) 名を使用して機能させることができます。

<local:A+B />

逆アセンブルされたコードを見たことがあれば、ネストされた型は次のようになります。

ParentTypeName+Nested
于 2012-11-14T00:09:25.423 に答える
32

これが可能であれば知りたいので、私は検索して検索していました。残念ながら、私はmsdnでこれを見つけました:

カスタム クラスは、ネストされたクラスであってはなりません。入れ子になったクラスと、その一般的な CLR 使用構文の "ドット" は、添付プロパティなどの他の WPF や XAML 機能と干渉します。

したがって、ネストされたクラスをドット演算子で参照できないようです。XAML を介してその内部クラスにアクセスする別の方法については、まだ検索に成功していません。:o( でも、これはかなり興味深い問題なので、引き続き検索します。運が良ければ見つかるかもしれません! :o)

于 2010-11-24T18:44:08.783 に答える