ObservableCollection
カスタムオブジェクトが含まれています。通常、アイテムはリストの最後に追加されます
私が探しているもの:
- リストの最初から追加されるアイテム。
- これはUIにのみ表示される場合があります。私のプログラム全体は、すでにこのリスト内のデータの位置を使用しています。そのため、その中のオブジェクトは、コードビハインドで順序を変更しない場合があります。
これObservableColection
は、Buttonオブジェクト(カスタムスタイル)を保持します。これらのボタンは、水平レイアウトでaListBox
と内部に表示されてStackPanel
います(ボタンが互いに適切に配置されるように)。
問題:
作成されるすべてのボタンはを受け取りますDateTime
。新しく追加されたボタンには、常にその前のボタンよりも新しい日付があります。このためのすべての計算は、タイマー内で実行されます(現在は毎秒実行されています)。
なので今回は基本的に並べ替え中ですが、3つのボタンのように突然ボタンが左側ではなく右側に配置されます。
例えば:
Btn3:14:15:45(正しい) Btn4:14:16:00(間違っている) Btn2:14:15:32(正しい)Btn1:14:04:17(正しい)
最初の3つのボタンは、毎回リストの先頭に適切に追加されます。そしていきなり2位に4点目が追加されます。いつも時間を比較しているわけではないようですね。ボタンが作成されるたびに、CollectionViewSource
メソッドが呼び出されます。
何か問題がありますか、CollectionViewSource
それともこれを処理するためのより良い方法がありますか?