DataGridのItemsSourceプロパティが整数の配列である状況があります。これらの整数は、対応する辞書のキーです。列に表示する必要があるのは、辞書値オブジェクトのメンバーであるフィールドです。WPF DataGrid - 行にDataContextを割り当てる
<DataGrid ItemsSource="{Binding Path=thisDataContext, ElementName=control, Mode=OneWay}"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Width="0.3*" Binding="{Binding Converter={StaticResource IntToPersonConverter}, Mode=OneWay }" />
<DataGridTextColumn Header="Department" Width="0.3*" Binding="{Binding Path=DepartmentIDX, Converter={StaticResource DepartmentConverter}, Mode=OneWay }" />
<DataGridTextColumn Header="Position" Width="0.3*" Binding="{Binding Path=EmployeeTypeIDX, Converter={StaticResource EmployeeTypeConverter}, Mode=OneWay }" />
</DataGrid.Columns>
</DataGrid>
私が働いているPersonクラスのオブジェクトは、プロパティがある - 部門と位置idを、私は、複数のコンバータを実装しました - 部署名と、人が名前をPostitionします。私はそれらのすべてをどのように組み合わせるか分かりません。私はDataGridの行にDataContextプロパティを設定できる場合、それが可能であると考えました。だから私はConvertorにPersonオブジェクトを渡すことができました。
- コレクション整数または人obejcts(あなたのXAMLによって暗示されている)の集合を? –
これは整数の集合です。 – tyumener
{Binding}はあなたが行ける限りです。 XAMLは、整数とは対照的にオブジェクトを使用していることを意味します。 –