Некоторое время назад я написал небольшое приложение, похожее на виджет, которое должно было отслеживать задачи, для каждой задачи был установлен крайний срок DateTime
, теперь, если вы хотите отобразить, сколько времени осталось до истечения указанного вами срока.может потребоваться привязать к «виртуальному» (* curses the virtual
ключевое слово *) следующее:
public TimeSpan TimeLeft
{
get { return Deadline - DateTime.Now; }
}
Очевидно, что в теории это свойство меняет каждый тик, и вы хотитевремя от времени обновляйте свой пользовательский интерфейс (например, периодически выкачивая событие PropertyChanged
для этого свойства).
Когда я писал виджет, я каждую минуту обновлял весь список задач, но это вряд ли идеально, посколькуесли пользователь взаимодействует с каким-либо элементом (например, набрав в TextBox, который связывается с Comments
-свойством), который будет резко прерываться, а обновления источника теряются.
Так что может быть лучшим подходомобновить пользовательский интерфейс, если у вас есть свойства, зависящие от времени, как это?
( Кстати, я больше не использую это приложение, просто подумал, что это avочень интересный вопрос )