如何将DataGridTemplateColumn(Button列)添加为WPF DataGrid中的最后一列

时间:2015-07-29 11:23:21

标签: c# wpf datagrid

我正在使用c#和WPF,我有一个DataGrid控件,我可以动态显示DataTable中的数据,并且DataGrid控件的AutoGeneratedColumns属性也设置为false。

现在问题是我想在DataGrid控件中添加另一列( DataGridTemplateColumn ),这将是最后一列。

我使用下面的代码添加Button列:

<DataGridTemplateColumn >
      <DataGridTemplateColumn.CellTemplate>
               <DataTemplate>
                      <Button Click="btnDetails">Details</Button>
                </DataTemplate>
       </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

通过使用上面的代码,按钮列被添加到DataGrid但作为FIRST列,然后动态地添加DataTable的所有列。

所以我只想在最后一列中添加这个DataGridTemplateColumn。 请帮帮我。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以对列使用DisplayIndex属性,但我建议您在DataGrid声明中将AutogenerateColumns设置为false,然后按所需顺序手动添加列:

<DataGrid AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Path=Property1}" />
        <DataGridTextColumn Binding="{Binding Path=Property2}" />
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button Click="btnDetails">Details</Button>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>            
</DataGrid>