2015-05-21 4 views
0

Приложение WPF проверяет некоторые внешние устройства и показывает изменения данных, используя привязку к INotifyPropertyChanged. Он отлично работает до сих пор, но я хотел бы, чтобы он приостанавливал опрос, когда элементы управления, которые показывают, что данные «мертвы» и продолжают, когда они снова отображаются на экране.Сделать источник привязки для привязки целей смерти

Как изменить объект источника данных (который на данный момент представляет собой реализацию только INotifyPeropertyChanged), чтобы он знал, когда целевые элементы управления выгружаются? Я мог бы дождаться целей до get их свойств за определенный промежуток времени после соответствующих событий PropertyChanged, но, возможно, у вас есть лучшее предложение.

+1

Что значит «мертвый»? Элементы управления/привязки обычно регистрируются и отменяются из PropertyChangedEvent по мере необходимости. – Jehof

+0

Скажем, у меня есть две Windows с DataContext, установленными для объекта INotifyPropertyChanged. Внутри этих окон находятся два разных набора элементов управления, связанных с различными свойствами этого объекта. Если какое-либо окно закрывается, мне нужно прекратить опрос данных для своих элементов управления, чтобы сохранить пропускную способность. – Yegor

+0

Я только что пробовал пользовательские средства доступа к событиям, и единственным релевантным объектом в «значении» был экземпляр PropertyChangedEventManager, который, похоже, не предоставляет полезную информацию о привязке целей. – Yegor

ответ

0

Если какое-либо окно закрывается, мне нужно, чтобы остановить данные опроса для его управления для сохранения пропускной способности

Однако избирательные работы, вам нужно создать флаг, может быть, на вашей виртуальной машине, которая будет определять, должны ли выполняться операции или нет. Опрос должен быть также опросить этот флаг для запуска или нет в зависимости от его состояния/окон.

Подпишитесь на закрытие окна и соответственно обновите флаг , который впоследствии остановит опрос.

Смежные вопросы