Подтвердить что ты не робот

Как получить размер экрана на Windows Phone 7 Series?

Как я могу программно получить разрешение экрана на WP7? Вот куча ссылок, которые выполняют ту же работу, что и на рабочем столе WPF и Silverlight, но ни один из них не находится в SDK телефона.

Любые идеи?

http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/6b6b832f-0dfd-428c-84cd-b1b9e7f236cf
Как получить активные размеры экрана? http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e

4b9b3361

Ответ 1

Похоже, Application.Current.RootVisual.RenderSize предоставит вам эту информацию.

Ответ 2

Я использую это:

this.ScreenWidth = System.Windows.Application.Current.Host.Content.ActualWidth;
this.ScreenHeight = System.Windows.Application.Current.Host.Content.ActualHeight;

Много способов скрыть приложение. Если это для XAML, вы можете привязываться к свойствам LayoutRoot.

Height="{Binding ElementName=LayoutRoot,Path=ActualHeight}"

Ответ 3

Я не могу понизить/увеличить пока (на самом деле, теперь я могу, и я сделал это), но я хотел бы указать, что ответ "Luke Puplett" в том числе Application.Current.Host.Content является правильным, а не "Andréas Saudemont", который советует RenderSize.

Я буду использовать имена, которые обычно используются в учебниках или примерах приложений из MSDN.

Я говорю, что Host.Current более адекватен, потому что в самом начале приложения, особенно на WP7 (я не знаю, как он находится на "обычном" SL3/SL4 на ПК), то есть, например, в самом первом конструкторе страницы - свойство RenderSize НЕ YET SET правильно, так как "RootVisual" приложения создается и еще не назначается в "App.xaml.cs". По крайней мере, в одной точке RenderSize = Size {0,0}

С другой стороны, если только приложение запускается правильно, Host.Content устанавливается на какой-то телефонный кадр, который правильно отображается на весь экран и поворачивается до фактического положения экрана. Я предполагаю, что с самого начала это начальный экран заставки (пустой или статический из файла JPG)

Ответ 4

Если вы хотите получить доступ к размеру экрана из XNA Game, используйте это:

graphics.GraphicsDevice.DisplayMode.Width

и

graphics.GraphicsDevice.DisplayMode.Height

где графика - текущая игра GraphicDeviceManager!

Ответ 5

Весь экран:

(App.Current.RootVisual as FrameworkElement).ActualHeight
(App.Current.RootVisual as FrameworkElement).ActualWidth

Текущая страница:

Если вы хотите знать видимый размер (принимая во внимание AppBar/SystemTray), просто попросите его от страницы.