DateTime の ObservableCollection をリストボックスにバインドしています。さまざまな国の現在の時刻が表示されます。Listbox には itemtemplate があるため、HH:MM:SS の表示方法をフォーマットできます。
ここで、DateTime の ObservableCollection 内の各アイテムの時間を 1 秒ごとに更新する必要があります。これにより、それに応じて 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;
}
});
もちろん、item.CurrentTime セッターでは、propertychange イベントを発生させる必要があります。