0

DataGrid で DataBinding を使用しています。List 型のMyDataSourceというプロパティを持つビューモデルがあります。Class1 には、List 型のMyListというプロパティがあります。Class2 には、文字列型のMyPropertyというプロパティがあります。

私のDataGrid xamlは次のようになります。

<DataGrid ItemsSource="{Binding MyDataSource}">
        <DataGrid.Columns>
            <DataGridTextColumn Header="MyValue" Binding="{Binding Path=MyList[0].MyProperty}"/>
        </DataGrid.Columns>
</DataGrid>

ここでは、PropertyPath MyList[0].MyPropertyと MyDataSource にコードでアクセスできます。ここで、GetProperty メソッドでMyList[0].MyPropertyを渡すことによって、 MyPropertyの PropertyType を調べたいと思います。

次のリンクに記載されている方法に従いました。しかし、ここでは MyList[0] の PropertyInfo は null です。 http://www.java2s.com/Code/CSharp/Reflection/Getsapropertysparentobject.htm

編集:

次のコードも試しました。

PropertyInfo pInfo = MyDataSource.GetType().GetProperty(MyList[0].MyProperty)

しかし、pInfo はここで null を返します。

誰かが私に解決策を提案してもらえますか?

4

1 に答える 1