Самый простой способ, который я могу придумать, - это использовать шаблон заголовка каждого столбца.
Я предлагаю это, потому что это будет соответствовать тому, как работает сетка данных.Это уже отдельная строка, вы можете привязать ее к другому объекту и т. Д.
Вы бы это определили.
Это выглядело бы как следующая разметка (это всего лишь воздушный код).
<DataGridTextColumn …..
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Some Header Text"/>
<TextBox Text="{Binding SomeDefaultForThisColumn}"
Привязка текстового поля к другому объекту будет несколько затруднительной, поскольку столбец является абстрактным, а не визуальным деревом.Тем не менее, вы сможете найти вопросы о привязке, если вы будете гуглить.
Когда пользователь щелкает последнюю строку в таблице данных для добавления, будет использоваться конструктор привязки типа.Поэтому я советую внедрить ваш объект, содержащий отредактированные заголовком данные или какой-то фабричный метод, задающий свойства.
Вы, конечно, можете захотеть отключить установку любых свойств вашей модели представления строки, чтобы это непроблема при обновлении существующих.