DataGridのDataContextをDataTableにして、AutoGenerateColumns=”True”に設定して、XAMLでカラムを追加すると、追加したカラムが各行の最初に来てしまう。
ので、横着せず、<DataGrid.Columns>に全てのカラムをあらかじめ書いておかなければいけない。
動的にカラムの数などが変わる場合にどうするのかは知らない。
[XAML]
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="exam_id" Binding="{Binding exam_id}"/>
<DataGridTextColumn Header="ID" Binding="{Binding pt_id}"/>
<DataGridTextColumn Header="{x:Static properties:Resources.Name}" Binding="{Binding pt_name}"/>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="{x:Static properties:Resources.Select}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>