現在DateTime.Now.ToLongDateString()
、日付のプロパティを設定するために使用していますが、日付をより詳細にしたいと考えています。目的は、アイテムの日付に基づいて並べ替えを実行することであり、これは現在、形式で日付を提供しますThursday, July 4, 2013
。複数のアイテムが同じ日にこの同じ日付プロパティを持つ場合、並べ替えは実行されません。秒の日付プロパティを許可する DateTime.Now の関数はありますか?
並べ替えが数日、数年にわたって発生する可能性があるため、日付と年を含める必要がありますが、同じ日にアイテムの複数のインスタンスが存在する可能性があることに注意してください。あなたはどのような推奨事項を提案しますか、またはこれを行うためのより良い方法はありますか? また、これはどの文化やタイムゾーンでも機能する必要があります。
編集
私の MainPage ではRecent
、写真のコレクションで名前が付けられた ListBox にデータを入力しています。[設定] ページから、ユーザーは昇順または降順の並べ替えを選択できます。これに基づいて、リストボックスに入力する前にコレクションを適切に並べ替える必要があります。
MainPage.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e)
{
ObservableCollection<Selfie.Models.Picture> listItems = new ObservableCollection<Selfie.Models.Picture>(PictureRepository.Instance.Pictures);
if (Settings.AscendingSort.Value)
{
listItems.OrderBy(x => x.DateTaken);
Recent.ItemsSource = listItems;
}
else
{
listItems.OrderByDescending(x => x.DateTaken);
Recent.ItemsSource = listItems;
}
}
DateTime を Picture のプロパティとしてシリアライズおよびデシリアライズするクラスがあります。これはDateTaken
、並べ替えようとしている に適用されます。