Я использовал DataContext
Свойство строки и произвел преобразование с Типом класса, чтобы получить Свойство.Вместо класса данных вам нужно предоставить свой класс, имеющий свойство Qty.
private void Grid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if(e.Column.Header.ToString().Equals("Qty"))
{
var d = ((Data)e.Row.DataContext).Qty;
}
}
Обновленный ответ
, чтобы получить текущийвведенные данные, в строке сетки.
private void Grid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if(e.Column.Header.ToString().Equals("Qty"))
{
var NumericDataCtrl= GetVisualChild<NumericTextColumn>(e.EditingElement);
var data = NumericDataCtrl.Text;
}
}
Для доступа к дочернему элементу управления внутри EditingElement я использовал следующий метод
public static T GetVisualChild<T>(Visual parent) where T : Visual
{
T child = default(T);
int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
for (int i = 0; i < numVisuals; i++)
{
Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
child = v as T;
if (child == null)
{
child = GetVisualChild<T>
(v);
}
if (child != null)
{
break;
}
}
return child;
}