按日期排序ObservableCollection

时间:2016-06-20 20:50:52

标签: c# windows uwp

我有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但它没有用。

1 个答案:

答案 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>