Saya memiliki WPF Toolkit DataGrid dengan satu DataGridTemplateColumn. Saya telah menentukan dalam atribut grid bahwa saya ingin semua kolom dapat diurutkan, tetapi DataGridTemplateColumn tidak mengizinkannya. Semua kolom lainnya memungkinkan pengurutan. Saya bahkan telah mencoba secara eksplisit mengatur CanUserSort ke true untuk kolom itu, tetapi tidak berhasil. Apakah mungkin untuk mengurutkan kolom template? Saya telah menyediakan penyortir kustom yang berfungsi untuk semua kolom, tetapi header tidak mengizinkan klik sortir.
<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
Kilhoffer
sumber
sumber
Ditambahkan
SortMemberPath="Name"
ke DataGridTemplateColumn. Ini mulai menyortir.<data:DataGridTemplateColumn Header="Name" SortMemberPath="Name" CanUserSort="True">
sumber
<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>
sumber