Хорошо, это сводит меня с ума.Я потратил часы, пытаясь понять, каким должно быть простое решение, но мне не повезло.
У меня есть DataGrid [WPF Toolkit] на странице XAML, в которой DataTable является ее ItemsSource.У меня также есть кнопка на моей странице, которая получает DataGrid's SelectedIndex (выбранная строка) и использует ее как переменную в функции, которая считывает связанную строку DataTable по этому индексу и возвращает значение.Все работает нормально, пока я не нажму на заголовок столбца, чтобы отсортировать его.Он сортирует DataGrid, но не сортирует DataTable вместе с ним, поэтому мой SelectedIndex изменился, но индекс DataTable не изменился, поэтому он возвращает неправильное значение.
Я искал события щелчка заголовка столбца -неудачно;Я попытался получить заголовок столбца, по которому сортируется сетка - nada;Я пытался использовать EventSetter «Click» в шаблоне DataGridTextColumn - не поддерживается.
Я полностью в растерянности.Если предполагается, что WPF является улучшением по сравнению с Windows Forms, почему некоторые простые функции были удалены?(Также глупо, что вам нужно связывать данные только для добавления строк, просто говоря.) Я могу использовать DataGrid для Windows Forms, и у меня не возникнет никаких проблем, но тогда я не смогу его стилизовать.
Может бытьЯ не выполняю проверку должным образом или что-то ...?Ниже мой код поиска / вывода.У кого-нибудь есть идеи ???Ваша помощь будет принята с благодарностью!
DataRow selectedRow = my_data.Tables[0].Rows[my_grid.SelectedIndex];
MessageBox.Show(selectedRow["ItemName"]);