我有ObservableCollection AllRem
public sealed class GetRem
{
public static string RemIDForNot;
public string ReminderColor = "1";
public int RemID { get; set; }
public string ReminderName { get; set; }
public string ReminderDescription { get; set; }
public DateTime ReminderDataTime { get; set; }
public Boolean? ReminderDone = false;
...
}
我需要通过ReminderDateTime对我的收藏品进行排序。我尝试使用:IComparable但它没有用。
答案 0 :(得分:0)
如果集合中的数据没有变化,如上所述,在绑定之前对集合进行排序将正常工作。如果是(并且,从你的数据结构,我会这么认为),那么这对于CollectionViewSource来说就是一个很好的场景
<UserControl.Resources>
<CollectionViewSource Source="{Binding DS.AllRem}" x:Key="RemViewSource" IsLiveSortingRequested="True" >
<CollectionViewSource.SortDescriptions>
<componentModel:SortDescription PropertyName="ReminderDataTime" Direction="Descending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
然后,将GridView绑定到CollectionViewSource
<GridView ItemsSource="{Binding Source ={StaticResource RemViewSource}}"></GridView>