Обновить WPF ListView на основе свойства EndTime - PullRequest
0 голосов
/ 13 ноября 2018

Каков наилучший способ обновления WPF ListView на основе свойства EndTime.

Перезагрузить список каждую минуту с TimeDispatcher?

Я имею в виду, что у меня есть список с объектами Meeting.

Со временем начала и окончания. Когда EndTime равен

Например, панели прибытия поездов на станциях.

Есть предложения / примеры?

1 Ответ

0 голосов
/ 13 ноября 2018

Установка таймера в графическом интерфейсе подходит только в том случае, если вы не контролируете эти данные - например, если вам нужно запросить таблицу базы данных, чтобы узнать, изменил ли ее кто-то другой. Вы обновляете свое представление данных каждую минуту.

Если вы контролируете эти данные, данные должны измениться, и WPF сможет заметить, когда они изменятся. Обычно это просто означает преобразование List<Meeting> в `Observable '.

У вас может быть один таймер, который срабатывает каждую минуту, и каждый раз проверять каждую встречу (или сортировать их и просто проверять первую)

Или вы можете создать таймер для каждого Совещания, который рассчитан на срабатывание в нужное время.

Или, если вы отсортировали список, вы можете просто установить один таймер на срабатывание при первой встрече, а затем выяснить, что будет дальше (и пересчитать это, если что-то изменится)

Первый, вероятно, наиболее устойчив, но наименее эффективен, а последний - наоборот.

...