Как получить поле привязки столбца 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}"/>
Другие вопросы по тегам