0

我有一个 DateTime 的 ObservableCollection 绑定到一个列表框。它显示了各个国家/地区的当前时间。列表框有一个项目模板,以便我可以格式化 HH:MM:SS 的显示方式。

现在,我需要每 1 秒更新一次 DateTime 的 ObservableCollection 中每个项目的时间,以便 UI 也相应地更新。

实现这一目标的最佳方法是什么?

4

1 回答 1

2

最先进(也是最简单)的方法是使用 Rx 扩展:

Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1)).
Subscribe(o =>
{
   // every second set current time on every item. 
   foreach(var item in YourCollection)
   {
    item.CurrentTime = DateTime.Now;
   }
});

当然,在 item.CurrentTime 设置器中,您需要引发 propertychange 事件。

于 2013-09-09T09:05:12.297 回答