Проблема с корректным переносом текста на новую строку может возникать из-за различных причин. Возможно, не установлено свойство `TextWrapping` в элементе управления, содержащем текст, или не установлены другие свойства, влияющие на перенос текста, например `Width` или `MaxWidth`. Также стоит обратить внимание на то, какой контейнер содержит элемент с текстом – возможно, необходимо задать свойства этого контейнера для корректного отображения текста.
Что касается создания шаблона для заголовка столбца данных, возможно, проблема заключается в том, что стили или шаблоны, которые вы применяете, переопределяют стандартные настройки для `DataGridColumnHeader`. К примеру, стили могут содержать жестко заданные свойства `TextWrapping`, которые перекрывают ваше настраиваемое значение. Попробуйте сначала убрать все стили и шаблоны из вашего кода и проверить, работает ли `TextWrapping` без них. Затем можно постепенно добавлять их обратно и проверять, как они влияют на отображение текста.
Если проблема все еще не решена, рекомендуется использовать инструменты отладки XAML для анализа структуры визуального дерева элементов управления и проверки значений свойств в реальном времени. Это позволит лучше понять, что происходит с вашими элементами и почему текст не переносится корректно.