Ich habe ein WPF Toolkit DataGrid mit einer DataGridTemplateColumn. Ich habe in einem Raster-Attribut angegeben, dass alle Spalten sortierbar sein sollen, aber die DataGridTemplateColumn wird es nicht zulassen. Alle anderen Spalten erlauben das Sortieren. Ich habe sogar versucht, CanUserSort für diese Spalte explizit auf true zu setzen, aber kein Glück. Ist es sogar möglich, eine Template-Spalte zu sortieren? Ich habe einen benutzerdefinierten Sortierer bereitgestellt, der für alle Spalten funktioniert, aber der Header lässt keinen Sortierklick zu.Wie kann ich eine DataGridTemplateColumn in einem WPF Toolkit DataGrid sortieren?
<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>
funktioniert perfekt. Vielen Dank! – Kilhoffer
Ein Wort der Warnung. Dies wird nicht automatisch neu sortiert, wenn Sie die zugrunde liegenden Daten ändern. – Kelly
Noch ein Hinweis: Das hört sich albern an, aber wenn Ihre Spalte keinen Header (den Titel) hat, wird sie auch nicht funktionieren. Wenn Sie auf die Kopfzeile klicken, wird die Sortierung ausgelöst. Ich habe eine Spalte, die keinen Header benötigt, und ich sortierte dies durch Setzen von Header = "" – Bokoskokos