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

时间:2013-09-17 07:00:07

标签: c# wpf datagrid wpfdatagrid

我是wpf的新手。

我在wpf

中的datagrid下绑定
<DataGrid AutoGenerateColumns="True" 
          Loaded="dataGrid1_Loaded" 
          MouseDoubleClick="dataGrid1_MouseDoubleClick" 
          Height="350" 
          Width="1200"
          Name="dataGrid1" />

我有一个&#34; OID&#34;网格中的name列,我想在用户双击行时获取此列的值。 我怎么才能得到它 ?我应该使用哪个事件?

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

由于 C.P

1 个答案:

答案 0 :(得分:3)

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

在这个架构中,你不会在后面的代码中使用事件处理程序。相反,你会用 Commands将您的用户界面信息发送到您的逻辑,并将Bindings从逻辑发送到用户界面。

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

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

        var cellValue = grid.SelectedValue;
    }

当用户双击特定列中的行时,将获得该值。 如果要获取单元格的值,无论用户双击该行的位置,请使用:

grid.SelectedItem

获取该行所代表的对象,并从那里检索您的属性,将列绑定到。

希望这有帮助