每分钟/每秒更新 UI 的最佳方式
本文关键字:最佳 方式 UI 更新 每分钟 | 更新日期: 2023-09-27 18:30:41
我有一个 ObservableCollection of DateTime 绑定到一个列表框。它显示各个国家/地区的当前时间。列表框有一个项模板,以便我可以格式化 HH:MM:SS 的显示方式。
现在,我需要每 1 秒更新一次 DateTime 的可观察集合中每个项目的时间,以便 UI 也相应地更新。
实现这一目标的最佳方法是什么?
最先进(也是最简单的)方法是使用 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;
}
});
当然还有项目。当前时间设置器,您需要引发属性更改事件。