У меня есть DataGrid WPF Toolkit с одним DataGridTemplateColumn. Я указал в атрибуте сетки, что я хочу, чтобы все столбцы можно было сортировать, но 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>
wpf
sorting
wpftoolkit
datagridtemplatecolumn
Килхоффер
источник
источник
Добавлен
SortMemberPath="Name"
в DataGridTemplateColumn. Началась сортировка.<data:DataGridTemplateColumn Header="Name" SortMemberPath="Name" CanUserSort="True">
источник
<DataGridTemplateColumn SortMemberPath="DataDiNascita" Header="Data di nascita" IsReadOnly="True"> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <DatePicker SelectedDate="{Binding Path=DataDiNascita}"></DatePicker> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=DataDiNascita,StringFormat=\{0:dd/MM/yyyy\}}"></TextBlock> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>
источник