WPF: двойной щелчок ячейки DataGrid - PullRequest
3 голосов
/ 03 марта 2010

Есть ли лучший способ определить строку, по которой пользователь дважды щелкнул в сетке данных?

Private Sub ResultsGrid_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
    Dim node As DependencyObject = CType(e.OriginalSource, DependencyObject)
    Do Until TypeOf node Is Microsoft.Windows.Controls.DataGridRow OrElse node Is Nothing
        node = VisualTreeHelper.GetParent(node)
    Loop

    If node IsNot Nothing Then
        Dim data = CType((CType(node, Microsoft.Windows.Controls.DataGridRow)).DataContext, Customer)
        'do something
    End If

End Sub

Ответы [ 2 ]

0 голосов
/ 20 марта 2010
       Dim data = CType(ResultsGrid.SelectedItem, Customer)
0 голосов
/ 03 марта 2010

Я использовал c #, просто найдите способ конвертировать его в VB:

DataRow dr = (DataRow)((System.Data.DataRowView)((Microsoft.Windows.Controls.DataGrid)sender).SelectedItem).Row;
//do your stuff here using the dr variable
...