如何添加DataGridTemplateColumn(按钮列)作为WPF DataGrid的最后一列

本文关键字:DataGrid 最后 一列 WPF 按钮 何添加 添加 DataGridTemplateColumn 作为 | 更新日期: 2023-09-27 18:05:15

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

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

我已经使用如下代码添加按钮列:

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

通过使用上面的代码,按钮列被添加到DataGrid,但作为第一列,然后所有的数据表列被动态添加。

所以我只是想在所有列的最后添加这个DataGridTemplateColumn。请帮我一下。

谢谢。

如何添加DataGridTemplateColumn(按钮列)作为WPF DataGrid的最后一列

您可以为列使用DisplayIndex属性,但我建议您在DataGrid声明中将autogeneratecolcolumns设置为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>