Область представления заголовка ограничена. Вы можете достичь этого, используя строку вместо UIElement. Убедитесь, что у вас есть xmlns для пространства имен «System» в вашем файле xaml, например:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Затем определите следующее в разделе ресурсов вашего UserControl:
<sys:String x:Key="MyHeader">My Header Text</sys:String>
Тогда вы можете сделать в основном то, что сказал Sorskoot, и не получите сообщение об ошибке:
<data:DataGridTextColumn Header="{StaticResource MyHeader}" Binding="{Binding SomeData}" IsReadOnly="True" />