我有一个带有一个DataGridTemplateColumn的WPF工具包DataGrid。我在网格属性中指定希望所有列都是可排序的,但DataGridTemplateColumn不允许这样做。所有其他列都允许排序。我甚至尝试过将该列的CanUserSort显式设置为true,但没有成功。是否可以对模板列进行排序?我已经提供了一个自定义的排序器,它适用于所有列,但标题不允许单击排序。
<Controls:DataGrid ItemsSource="{Binding Events}" AutoGenerateColumns="False"
CanUserSortColumns="True"
CanUserReorderColumns="False"
Sorting="DataGrid_Sorting"
x:Name="EventsGrid">
<Controls:DataGrid.Columns>
<Controls:DataGridTemplateColumn Header="Type" Width="42" CanUserResize="False">
<Controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding EventTypeImage, Mode=OneWay}" HorizontalAlignment="Center" Width="16"/>
</DataTemplate>
</Controls:DataGridTemplateColumn.CellTemplate>
</Controls:DataGridTemplateColumn>
<Controls:DataGridTextColumn Header="Source"
Binding="{Binding Source, Mode=OneWay}" />
<Controls:DataGridTextColumn Header="Details" MinWidth="175"
Binding="{Binding Details, Mode=OneWay}" />
<Controls:DataGridTextColumn Header="Timestamp" MinWidth="175"
Binding="{Binding Timestamp, Mode=OneWay}"
IsReadOnly="True"/>
</Controls:DataGrid.Columns>
</Controls:DataGrid>
https://stackoverflow.com/questions/2739344
复制相似问题