Необходимо знать, когда пользователь изменяет размер окна - PullRequest
3 голосов
/ 18 августа 2011

Я создал пользовательский элемент управления в Silverlight, так что теперь я могу использовать его несколько раз в любом месте, где захочу.Этот элемент управления также использует всплывающее окно.Когда всплывающее окно открывается, я программно устанавливаю его положение, чтобы оно выглядело как привязанный к элементу управления.Но когда это всплывающее окно уже видно и пользователь изменяет размер окна Internet Explorer, содержимое страницы перемещается, а всплывающее окно не перемещается.[Очевидно.] Так что это больше не похоже на привязку к контролю.Как это исправить?Какое событие обрабатывать?

Я ожидаю, что есть какое-то событие, которое запускается, когда пользователь меняет размер окна.Или, что еще лучше, событие, которое может сообщить мне, когда владелец элемента управления перемещен, поэтому я знаю новую позицию элемента управления (которую мне нужно знать, чтобы вычислить координаты для всплывающего окна).Поскольку я хочу, чтобы он работал как пользовательский элемент управления, я бы предпочел локальное событие на самом элементе управления (то есть, не вмешиваясь ни в какие глобальные элементы страницы / окна).Пожалуйста, помогите мне найти правильное событие.

Обновление: мне кажется, что теперь ВСЕГДА мне нужно знать, когда перемещается владелец.Потому что также могут быть другие причины, по которым он перемещается (кроме указанного выше изменения размера окна).

1 Ответ

1 голос
/ 18 августа 2011

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

Если ваш элемент управления перемещен из-за другого элемента управления, это может не помочь. Так как он может не изменить размер, просто разместите его в новом месте.

Если это проблема, вы можете использовать LayoutUpdated , чтобы определить, изменилось ли что-либо внутри элемента. Для этого вам нужно прикрепить обработчик к RootVisual или к чему-то, находящемуся выше вашего элемента.

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