C# 右边的一列按钮

C# 右边的一列按钮,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,在DataGrid中,我想从右边(最右边的列)附加一列按钮。我的眼睛看起来像: <DataGrid ItemsSource="{Binding Path=TableView}" CanUserAddRows="False"> <DataGrid.Columns> <DataGridTemplateColumn Header="Add"> <DataGridTemplate

在DataGrid中,我想从右边(最右边的列)附加一列按钮。我的眼睛看起来像:

<DataGrid ItemsSource="{Binding Path=TableView}" CanUserAddRows="False">
    <DataGrid.Columns>                  
        <DataGridTemplateColumn Header="Add">
            <DataGridTemplateColumn.CellTemplate>
                 <DataTemplate>
                     <Button Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=DataContext.AddItemCommand}" >Add</Button>
                  </DataTemplate>
              </DataGridTemplateColumn.CellTemplate>
           </DataGridTemplateColumn>
       </DataGrid.Columns>
</DataGrid>

添加
表如下所示:

<DataGrid ItemsSource="{Binding Path=TableView}" CanUserAddRows="False">
    <DataGrid.Columns>                  
        <DataGridTemplateColumn Header="Add">
            <DataGridTemplateColumn.CellTemplate>
                 <DataTemplate>
                     <Button Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=DataContext.AddItemCommand}" >Add</Button>
                  </DataTemplate>
              </DataGridTemplateColumn.CellTemplate>
           </DataGridTemplateColumn>
       </DataGrid.Columns>
</DataGrid>

但是,我需要按钮在右边


注意:datagid绑定到DataTable,我只知道运行时的列名和列数

您可以处理
AutoGeneratedColumns
事件,并添加
DataGridTemplateColumn
或以编程方式设置其
DisplayIndex
属性:

private void DataGrid_AutoGeneratedColumns(object sender, EventArgs e)
{
    DataGrid dataGrid = (DataGrid)sender;
    dataGrid.Columns[0].DisplayIndex = dataGrid.Columns.Count - 1;
    for (int i = 1; i < dataGrid.Columns.Count; i++)
        dataGrid.Columns[i].DisplayIndex = i;
}
private void DataGrid_AutoGeneratedColumns(对象发送方,事件参数e)
{
DataGrid DataGrid=(DataGrid)发送方;
dataGrid.Columns[0]。DisplayIndex=dataGrid.Columns.Count-1;
对于(int i=1;i
XAML:

<DataGrid ItemsSource="{Binding Path=TableView}" CanUserAddRows="False"
          AutoGeneratedColumns="DataGrid_AutoGeneratedColumns">
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="Add">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <Button Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=DataContext.AddItemCommand}" >Add</Button>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

添加

是否尝试将按钮水平对齐属性设置为右侧?@GuidoC。这不是工作