1. Проверьте, что у DataGrid установлен свойство CanUserAddRows в true. Если это свойство установлено в false, событие RowEditEnding не будет вызываться для новых строк.
2. Убедитесь, что у DataGrid присутствует привязка к источнику данных (ItemsSource) и что у этого источника данных реализован интерфейс INotifyPropertyChanged или что изменения данных в источнике вызывают событие PropertyChanged для корректного срабатывания события RowEditEnding.
3. Проверьте, что не используется режим редактирования по умолчанию (EditingMode="Single" или "Cell"), так как это может препятствовать вызову события RowEditEnding.
4. Для обработки нажатия клавиши "Enter" в пустой ячейке можно использовать обработчик PreviewKeyDown для DataGrid и проверять в нем, что клавиша Enter была нажата и что текущая строка пуста. После этого можно добавить новую строку в источник данных или выполнить другие действия в зависимости от логики вашего приложения.
Пример обработки нажатия клавиши "Enter" в пустой ячейке:
```c#
private void dataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
DataGridCellInfo currentCell = dataGrid.CurrentCell;
if (currentCell != null && currentCell.Item == CollectionView.NewItemPlaceholder)
{
// Добавить новую строку в источник данных или выполнить другие действия
}
}
}
```
Не забудьте подписаться на событие PreviewKeyDown для DataGrid в разметке (XAML):
```xaml
<DataGrid x:Name="dataGrid" PreviewKeyDown="dataGrid_PreviewKeyDown"/>
```