0

我正在为 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但它返回null?

4

1 回答 1

0

我想通了,我给风格一个关键

<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}"/>
于 2017-06-02T11:29:44.767 回答