我们有 WPF 应用程序,其中我们是一种形式的 ListView,我们想按字母数字顺序订购项目。
当我们对列进行排序时,它需要对字母数字 EG 进行排序
AW1 AW2 AW3
目前正在排序
AW1 AW100 AW2 AW200
那么需要改变什么?
if (lastDirection == ListSortDirection.Ascending)
{
direction = ListSortDirection.Descending;
}
else
{
direction = ListSortDirection.Ascending;
}
和
// get the sort property name from the column's information.
string sortPropertyName = sortableGridViewColumn.SortPropertyName;
// Sort the data.
Sort(sortPropertyName, direction);
像这样的排序功能,
private void Sort(string sortBy, ListSortDirection direction)
{
lastDirection = direction;
ICollectionView dataView = CollectionViewSource.GetDefaultView(this.ItemsSource);
dataView.SortDescriptions.Clear();
SortDescription sd = new SortDescription(sortBy, direction);
dataView.SortDescriptions.Add(sd);
dataView.Refresh();
}