0

Je fais du tri personnalisé pour la grille de données WPF (comme j'utilise la pagination pour ne pas utiliser le tri par défaut), comment obtenir le nom du champ auquel cette colonne est liée? Voici mon code actuel à l'intérieur DataGrid.ResourcesComment obtenir le champ de liaison de colonne WPF du style DataGridColumnHeader

<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> 

J'essaie d'obtenir le Column mais il retourne nul?

Répondre

0

j'ai tout compris, je donne le style un

clé
<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> 

et l'appliquer dans HeaderStyle de colonne et cela a fonctionné

<DataGridTextColumn Binding="{Binding Name}" Header="Column Name" MinWidth="150" HeaderStyle="{StaticResource SortableColumnHeader}"/>