void SortRecipeFolder<T>(IEnumerable<T> source, string sortName, ListSortDirection direction)
{
var collectionView = CollectionViewSource.GetDefaultView(source);
if (source is List<RemoteRecipeFolder> wafer)
{
collectionView.Filter = (x) =>
{
var casted = x as RemoteRecipeFolder;
return casted != null && casted.WaferId.Contains(SearchText, StringComparison.OrdinalIgnoreCase);
};
}
// 清除旧的排序
collectionView.SortDescriptions.Clear();
// 按 Age 升序排序
collectionView.SortDescriptions.Add(new SortDescription(sortName, direction));
// 如果需要,强制刷新
collectionView.Refresh();
}