WPF数据网格获取单元格值使用按钮

本文关键字:按钮 单元格 获取 数据 数据网 网格 WPF | 更新日期: 2023-09-27 18:12:21

我有一个数据网格。当我单击删除按钮时,我希望获得数据网格中的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>

WPF数据网格获取单元格值使用按钮

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

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);
}