この記事のように、ObjectDataSource でネストされた型を使用しようとしています。私にはうまくいかないようです。
<ObjectDataProvider x:Key="myProvider" ObjectType="{x:Type local:OutsideClass+InsideClass}" MethodName="GetObjects" />
この記事のように、ObjectDataSource でネストされた型を使用しようとしています。私にはうまくいかないようです。
<ObjectDataProvider x:Key="myProvider" ObjectType="{x:Type local:OutsideClass+InsideClass}" MethodName="GetObjects" />
これは、VS 2008 以降の既知の問題です。Microsoft の公式の立場は、これを行うべきではないというものです。
あなたが書いている XAML は明らかに合法であり、実行時に機能し、Expression Blend に正しく読み込まれますが、現在のところ、マークアップ拡張機能から入れ子になったクラスの使用とアクセスがアプリケーション構築において非常に一般的であるとは考えていません。
x:Type
入れ子になった型への参照を回避する 1 つの方法は、新しいマークアップ拡張機能を定義して、x:Type
マークアップ拡張機能の代わりに使用することです。この回答Type2Extension
では、クラスのソースなど、そのような情報を投稿しました。
は、のType2Extension
ように設計者のエラーを生成しTypeExtension
ません。おそらく、これは VS 2010 では発生しません。
唯一の注意点は、typenameTypeExtension
で使用するオリジナルの方が少し堅牢であることです(たとえば、引数が null であるかどうかをチェックして例外をスローする)。{x:Type
}
Type2Extension