C# 是否向设置为AutoGenerateColumns的datagrid添加删除按钮?

C# 是否向设置为AutoGenerateColumns的datagrid添加删除按钮?,c#,wpf,datagrid,C#,Wpf,Datagrid,我在WPF中有一个datagrid,它可以从数据库表自动生成其列: SqlConnection sqlCon = connect2DB(); SqlDataAdapter adapter.SelectCommand = new SqlCommand("SELECT * FROM myTable", sqlCon); adapter.Fill(dataSet); dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView; 下面是我尝试将“删除”按

我在WPF中有一个datagrid,它可以从数据库表自动生成其列:

SqlConnection sqlCon = connect2DB();
SqlDataAdapter adapter.SelectCommand = new SqlCommand("SELECT * FROM myTable", sqlCon);
adapter.Fill(dataSet);
dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView;
下面是我尝试将“删除”按钮添加到数据网格的位置:

<DataGrid AutoGenerateColumns="True" HName="dataGrid1" DataContext="{Binding}" ItemsSource="{Binding}" RowEditEnding="dataGrid1_RowEditEnding">
    <DataGridTemplateColumn Header="Actions" IsReadOnly="True">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Button Content="Remove Row" Command="Delete"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid>

这不起作用,它说{“在使用ItemsSource之前,Items集合必须为空。”}

我还尝试了以下代码:

<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding Src}" x:Name="Grid">
    <DataGrid.Columns>
        <DataGridCheckBoxColumn Header="Junk"></DataGridCheckBoxColumn>
    </DataGrid.Columns>
</DataGrid>


它可以工作,但不会生成按钮,据我所知,您只能生成复选框、文本框或超链接。如何生成按钮?

第一个示例应该可以工作,但您忘记了
DataGrid.Columns
。应该是:

<DataGrid ...>
    <DataGrid.Columns>
        <DataGridTemplateColumn ...>

如果没有该WPF,则假定您正在创建项目