Предыдущие ответы в основном правильные, однако я нахожу их слишком сложными или затрагивающими только одну из двух проблем поста.
Во-первых, вы всегда можете установить свойство SortPath
, чтобы поддерживать сортировку для DataGridTemplateColumn
или, возможно, когда вы захотите отсортировать какое-либо свойство, отличное от отображаемого.
Во-вторых, вам не нужно DataGridTemplateColumn
, чтобы иметь подсказку для заголовка столбца, как упоминается в OP. Вы можете использовать столбец шаблона, если хотите добавить всплывающую подсказку к фактической ячейке (но это, вероятно, также не требуется). В любом случае, добавление всплывающей подсказки к заголовку столбца легче всего выполнить с помощью HeaderStyle
<DataGridTextColumn Header="Test" Binding="{Binding TestText}">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ToolTip" Value="Test ToolTip" />
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>