0

DateTime の ObservableCollection をリストボックスにバインドしています。さまざまな国の現在の時刻が表示されます。Listbox には itemtemplate があるため、HH:MM:SS の表示方法をフォーマットできます。

ここで、DateTime の ObservableCollection 内の各アイテムの時間を 1 秒ごとに更新する必要があります。これにより、それに応じて 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 に答える