Как определить, что элемент управления перемещается? - PullRequest
7 голосов
/ 10 мая 2011

Предположим, у меня есть окно с пользовательским UserControl, а внутри UserControl есть текстовое поле.Когда я перетаскиваю окно, как TextBox может обнаружить, что оно перемещается?

Я пытался найти его свойство RenderTransform, возникает событие Change, которое вызывается, когда объект Freezable или один из егообъекты меняются ".Ничего убедительного ..

Редактировать:

В моем случае я не вижу окна, все, что я вижу, - это UserControl, и я не могу подняться выше.

Ответы [ 2 ]

7 голосов
/ 10 мая 2011

Вам нужно будет подписаться на события Window, поскольку ваше текстовое поле на самом деле не перемещается (оно, скорее всего, находится в той же позиции, что и окно), поэтому вы можете подписаться на событие Window.LocationChanged, чтобы получать уведомления, когда окноMove.

Но также Если ваш элемент управления не имеет абсолютной позиции, вам нужно будет проанализировать Window.SizeChanged, который сообщит вам, когда пользователь изменил размер окна, но это дискретное конечное событие, а нетекущее событие.

3 голосов
/ 19 июля 2012

Попробуйте подписаться на событие LayoutUpdated в UserControl.

...