我有ObservableCollection
它包含一个自定义对象。通常,项目会添加到列表的末尾
我在找什么:
- 从列表开头添加的项目。
- 这可能只显示在 UI中,我的整个程序已经在使用这个列表中的数据位置。所以里面的对象可能不会在后面的代码中改变顺序。
这ObservableColection
包含 Button 对象(自定义样式)。这些按钮以水平布局显示在 aListBox
和 a 内StackPanel
(因此这些按钮可以很好地相互放置)。
问题:
创建的每个按钮都会收到一个DateTime
. 新添加的按钮的日期总是比之前的按钮更新。对此的所有计算都在计时器内进行(目前每秒运行一次)。
所以我这次基本上是在排序,但是在像 3 个按钮之后突然一个按钮被放置在右侧(而不是左侧)。
例如:
Btn3:14:15:45(正确) Btn4:14:16:00(错误) Btn2:14:15:32(正确) Btn1:14:04:17(正确)
前 3 个按钮每次都会正确添加到列表的开头。突然间,第四项被添加到第二位。好像不是一直在比较时间?每次创建按钮时CollectionViewSource
都会调用该方法。
有什么问题CollectionViewSource
还是有更好的方法来处理这个问题?