在DataGrid中使用模板列时,默认功能中对点击列标题是不对列值进行排序的,要排序就需要添加以下两个属性:
1、CanUserSort="True"
2、SortMemberPath="Area" //此处SortMemberPath属性的值是作为排序依据的数据成员
如下代码,“产地”这个列就能通过点击列标题(产地)来排序:
<DataGridTemplateColumn CanUserSort="True" SortMemberPath="Area" Header="产地" MinWidth="80"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=Area}" VerticalAlignment="Center" > </TextBlock> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>