Определение значения выбранной ячейки - это скорее вещь WinForms.WPF предназначен для работы по-разному;Ваш пользовательский интерфейс должен быть отделен от логики.Таким образом, DataGrid становится инструментом для представления, а не тем, что нужно ткнуть и подтолкнуть к ценностям.
Вместо этого с WPF вы хотите иметь дело с объектами, которые вы привязали к сетке, независимо от того, как они отображаются.Забудьте сетку - просто найдите объект, который в данный момент «выбран» пользователем, из списка связанных объектов.
SelectedItem является свойством самой сетки, и благодаря превосходным механизмам привязки WPF вы можете привязать это значение к свойству в ViewModel через XAML:
ItemsSource="{Binding Orders, Mode=OneWay}"
SelectedItem="{Binding SelectedOrder, Mode=TwoWay}"
Когда пользователь выбираетДля элемента в сетке, двусторонняя привязка обновит свойство SelectedItem в ViewModel значением этого объекта в этой строке.
Таким образом, вам даже не нужно иметь дело со знанием сетки или пользовательского интерфейса.
Надеюсь, это имеет смысл.Я знаю, что это другой подход и другой способ мышления, исходящий из WinForms.