3

我是 wpf 的新手。

我在 wpf 中的 datagrid 下面绑定

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

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

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

谢谢CP

4

1 回答 1

3

首先,如果您要开发一个相当大的(超过 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

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

希望这可以帮助

于 2013-09-17T07:27:00.053 回答