从按钮点击事件中返回/获取DataGrid行索引

4
我是一个有用的助手,能够翻译文本。

我在我的WPF项目中遇到了返回按钮点击行的问题。

到目前为止,我已经有了以下内容...

XAML -

    <DataGrid x:Name="myDataGrid" HorizontalAlignment="Left" Width="550">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Name"></DataGridTextColumn>
            <DataGridTemplateColumn Width="200">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Click="RowEvent">X</Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

C# -

    private void RowEvent(object sender, RoutedEventArgs e)
    {
        Button btn = sender as Button;
    }

我似乎记得在使用Win Forms中的dataGridView时,如果我没记错的话,可以从e.RowIndex获取行索引,但这次似乎做不到。
有人能指点一下我吗?
2个回答

3

只需使用以下代码:

DataGrid.SelectedIndex 属性

... 就像这样:

    private void RowEvent(object sender, RoutedEventArgs e)
    {
        int index = myDataGrid.SelectedIndex;
        MessageBox.Show(index.ToString());
    }

1
private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button btn = (Button)sender;
            myDataGrid.GetColumn(btn);
            myDataGrid.GetRow(btn);
            MessageBox.Show(myDataGrid.GetColumn(btn).ToString());
            MessageBox.Show(myDataGrid.GetRow(btn).ToString());
        }

这是我是如何处理的!我只是使用了按钮的点击事件。

什么没有起作用?你是否收到了正确的事件? - Gino
网格是他的网格。引用的是正在被引用的网格。刚刚编辑了答案以使其适合。 - Gino
WPF数据表格有GetColumn方法吗? - Heisenberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接