WPF DataGrid使用按钮

时间:2015-09-12 06:33:29

标签: c# wpf datagrid

我有一个数据网格。当我单击删除按钮时,我想获取数据网格中的ID列值。我怎么能这样做?

这是我的数据网格xaml。

<DataGrid x:Name="dtgridUser" AutoGenerateColumns="False" >
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding ID}" Header="ID" />
        <DataGridTextColumn Binding="{Binding Name}" Header="Name" />
        <DataGridTextColumn Binding="{Binding Age}" Header="Age" />
        <DataGridTemplateColumn>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="btnDelete" Click="btnDelete_Click" >Delete</Button>
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

1 个答案:

答案 0 :(得分:1)

我通过将此代码添加到我的按钮来解决它。基本上,当我点击按钮时。它将获得单击按钮的行,然后从特定列中选择值。

private void btnDelete_Click(object sender, RoutedEventArgs e)
{
    DataGrid dataGrid = YOURDATAGRIDNAME;
    DataGridRow Row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(dataGrid.SelectedIndex);
    DataGridCell RowAndColumn = (DataGridCell)dataGrid.Columns[0].GetCellContent(Row).Parent;
    string CellValue = ((TextBlock)RowAndColumn.Content).Text;

    MessageBox.Show(CellValue);
}