Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Как получить данные с полей нажатого DataGrid в коде

Есть ДатаГрид с двумя полями, а так же событие двойной клик. Как именно с нажатого ряда получить данные.

Вот сам код C#
private void LVVid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { MessageBox.Show("Сюда надо передать информацию с полей"); }


Ответ

Вы навесили обработчик двойного щелчка на весь DataGrid, т.к. он сработает при клике по заголовку, по строкам, по пустому пространству под строками и т.д.
Чтобы решить вашу задачу, нужно навесить обработчик щелчка именно по строке DataGrid. Сделать это можно с помощью стиля:
,
Тогда код самого обработчика:
private void DataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var row = (DataGridRow)sender; if (!(row.DataContext is Data context)) return; MessageBox.Show(context.Info + " " + context.CarCap); }
Здесь Data — тип объектов, отображаемых в DataGrid.

Комментариев нет:

Отправить комментарий