Как получить поле привязки столбца WPF из стиля DataGridColumnHeader
Я делаю пользовательскую сортировку для сетки данных WPF (так как я использую нумерацию страниц, поэтому не могу использовать сортировку по умолчанию), как я могу получить имя поля, к которому привязан столбец? Ниже мой текущий код внутри DataGrid.Resources
<Style TargetType="DataGridColumnHeader">
<Setter Property="Command" Value="{Binding Path=DataContext.SortCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<Setter Property="CommandParameter" Value="{Binding Path=DisplayIndex, RelativeSource={RelativeSource Mode=Self}}"/>
</Style>
Я пытаюсь получить Column
но вернуть ноль?
1 ответ
Решение
Я понял это, я даю стиль ключ
<DataGrid.Resources>
<Style x:Key="SortableColumnHeader" TargetType="DataGridColumnHeader">
<Setter Property="Command" Value="{Binding Path=DataContext.SortCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<Setter Property="CommandParameter" Value="{Binding Path=Column.Binding.Path.Path, RelativeSource={RelativeSource Mode=Self}}"/>
</Style>
</DataGrid.Resources>
и применить его в столбце HeaderStyle, и это сработало
<DataGridTextColumn Binding="{Binding Name}" Header="Column Name" MinWidth="150" HeaderStyle="{StaticResource SortableColumnHeader}"/>