Вопрос:
Как получить индекс щелкнутой/выбранной ячейки в DataGrid?
Мои столбцы DataGrid генерируются автоматически, и я не хочу использовать какой-либо DataTemplate.
<DataGrid ItemsSource=»{Binding Table,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,IsAsync=True}» AutoGenerateColumns=»True»> </DataGrid> Лучший ответ:DataGrid x = (DataGrid)this.FindName(«myDataGrid»); var index = x.SelectedIndex;
Существуют и другие полезные свойства:
x.CurrentColumn; x.CurrentItem; x.SelectedItem; x.SelectedValue; Ответ №1
Это решение, которое я нашел, когда блок выбора является “ячейкой”, и вам нужно пройти через выбранные ячейки, получив индекс строки и столбца.
У меня есть DataGrid только с текстовым столбцом и datatable (creted from csv file) как itemssource.
For Each cell As DataGridCellInfo In dataGrid1.SelectedCells MsgBox(cell.Column.DisplayIndex) MsgBox(dataGrid1.Items.IndexOf(cell.Item)) Next