В WPF, как лучше всего получить уведомление PreviewPropertyChanged для свойства зависимости? - PullRequest
1 голос
/ 15 апреля 2011

Насколько мне известно, нет PreviewPropertyChanged, на которое вы можете подписаться для свойства зависимостей, но мне нужно знать, что значение БУДЕТ изменяться.Моя мысль состоит в том, чтобы переопределить метод Coerce Value и выполнить его там (естественно, после того, как произойдет любое фактическое принуждение, так как оно вызывает функцию, вызываемую до того, как произойдет фактическое изменение. Таким образом, я могу сравнить существующее значение спринудительное значение, чтобы определить изменение, и если оно есть, запустить код предварительного просмотра. Это правильный способ сделать это или я что-то упустил?

1 Ответ

1 голос
/ 15 апреля 2011

Вы получили это. CoerceValueCallback - хороший способ вызвать событие «XXXChanging», которое дает потребителям объекта возможность изменить значение или отменить изменение. Ваш принуждение затем вернет новое значение или измененное значение. Вы можете получить старое значение непосредственно из DependencyObject, так как оно не включено в параметры CoerceValueCallback.

Кстати, события «Предварительный просмотр» являются туннельными. Это означает, что они уходят с вершины дерева вниз. Бурлящие события идут снизу вверх. Поэтому я бы не стал называть его PreviewPropertyChanged, поскольку это подразумевает, что свойство уже изменилось и это событие туннелирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...