如何在 WPF 中的鼠标双击事件上获取数据网格中的单元格值

本文关键字:数据 获取 数据网 网格 单元格 双击 WPF 鼠标 事件 | 更新日期: 2023-09-27 18:31:37

我是wpf的新手。

我在 wpf 中绑定了下面的数据网格

<DataGrid AutoGenerateColumns="True" 
          Loaded="dataGrid1_Loaded" 
          MouseDoubleClick="dataGrid1_MouseDoubleClick" 
          Height="350" 
          Width="1200"
          Name="dataGrid1" />

我在网格中有一个"OID"名称列,我想在用户双击行时获取此列的值。我怎样才能得到它?我应该使用哪个事件?

我可以在数据网格中使用视图按钮来获取列值,但我不知道如何在数据网格中绑定按钮/链接以及如何处理它以获取列值?

谢谢C.P.P.

如何在 WPF 中的鼠标双击事件上获取数据网格中的单元格值

首先,如果你要开发一个相当大的(超过1周的开发)应用程序,你真的应该开始考虑MVVM。

在此体系结构中,不会在代码隐藏中使用事件处理程序。 相反,您将使用 Commands将信息从 UI 发送到逻辑,Bindings从逻辑发送到 UI。

但是要回答您当前的问题,您可以使用 MouseDoubleClick 事件并从那里检索您的数据

    private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
        var grid = sender as DataGrid;
        var cellValue = grid.SelectedValue;
    }

这将在用户双击特定列中的行时获取该值。如果要获取单元格的值,无论用户在何处双击该行,请使用:

grid.SelectedItem

以获取行表示的对象,并从那里检索您的列绑定到的属性。

希望这有帮助