【发布时间】:2017-11-20 02:57:09
【问题描述】:
我有一个DataGrid,里面有一个对象列表。
它有一个MouseDoubleClick 事件。
我正在尝试找出 DataGrid 的哪一行被点击了。
到目前为止,我已经尝试过:
private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow Row = sender as DataGridRow;
int RowNumber = Row.GetIndex();
//dostuff with RowNumber ;
}
不幸的是,我得到了System.NullReferenceException。
xaml 完整性:
<DataGrid x:Name="DataGrid_Table" Grid.Row="3" AutoGenerateColumns="True" ItemsSource="{Binding}" IsReadOnly="True"
MouseDoubleClick="DataGrid_MouseDoubleClick" FontSize="22" />
【问题讨论】:
-
您得到空异常,因为它是发送事件的网格 (DataGrid),您尝试将其转换/转换为
DataGridRow。您可能需要DataGrid.SelectedIndex,它表示SelectedItem的索引或当前选定的网格行。请注意,该索引是零索引的。