Центрируйте модальное всплывающее окно Silverlight на холсте, который больше экрана - PullRequest
4 голосов
/ 18 января 2009

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

Есть идеи у кого-нибудь?

Спасибо ~ Стив

Ответы [ 3 ]

1 голос
/ 18 января 2009

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

0 голосов
/ 04 октября 2010

Габриэль Гимарайнш хорошо работает.

App.Current.Host.Content.ActualHeight (и ActualWidth) отображает размер браузера внутри. Хорошо для расчета позиции. И, конечно же, вы можете использовать LayoutUpdated на своем основном элементе управления, чтобы дважды проверить размеры и при необходимости изменить размер.

0 голосов
/ 26 января 2009

Совершенно верно. Я закончил тем, что создал холст холдинга, сделал этот полноэкранный режим и поместил в него все остальное как дочерний холст. Модальное всплывающее окно теперь появляется на холсте холдинга.

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