Comment obtenir la taille de l'écran sur Windows Phone 7 Series?
-
25-09-2019 - |
Question
Comment puis-je obtenir la résolution de programatically écran sur WP7? Voici un tas de liens qui obtiennent le même travail fait dans WPF et Silverlight de bureau, mais aucun d'entre eux sont dans le SDK de téléphone.
Toutes les idées?
http: / /social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e
http: // sociale. msdn.microsoft.com/Forums/en-US/wpf/thread/6b6b832f-0dfd-428c-84cd-b1b9e7f236cf
Comment puis-je obtenir les dimensions de l'écran actif?
http: // sociale. msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e
La solution
On dirait que Application.Current.RootVisual.RenderSize vous donnera cette information.
Autres conseils
J'utilise ceci:
this.ScreenWidth = System.Windows.Application.Current.Host.Content.ActualWidth;
this.ScreenHeight = System.Windows.Application.Current.Host.Content.ActualHeight;
De nombreuses façons de la peau d'une application. Si son pour XAML, vous pouvez lier aux propriétés du LayoutRoot.
Height="{Binding ElementName=LayoutRoot,Path=ActualHeight}"
Je ne peux pas vers le bas / upvote encore (en fait, maintenant je peux et je l'ai fait) , mais je voudrais souligner que la réponse de "Luc Puplett" y compris Application.Current.Host.Content est correcte, pas "Andréas Saudemont" un s qui conseille RenderSize.
Je vais utiliser les noms qui sont couramment utilisés dans les didacticiels ou des exemples d'applications de MSDN.
Je dis que Host.Current est plus adéquate, car le début même de l'application, en particulier sur le WP7 (je ne sais pas comment il est « régulier » SL3 / SL4 sur PC) - qui est, par exemple , dans le constructeur de première page - la propriété RenderSize n'est pas encore été correctement positionnés, comme le « RootVisual » de l'application est en cours de construction et n'a pas encore été attribué dans le « App.xaml.cs ». Au moins dans un point, la RenderSize = Taille {0,0}
D'autre part, si seule l'application démarre correctement, le Host.Content est réglé sur une phoneframe, qui est correctement-taille plein écran et mis en rotation à la position réelle de l'écran. Je suppose que dès le départ, il est l'écran de démarrage de démarrage (vide ou statique du fichier JPG)
Si vous souhaitez accéder à la taille d'affichage à partir d'un jeu XNA, utilisez ceci:
graphics.GraphicsDevice.DisplayMode.Width
et
graphics.GraphicsDevice.DisplayMode.Height
où graphiques est GraphicDeviceManager du jeu en cours!
Tout l'écran:
(App.Current.RootVisual as FrameworkElement).ActualHeight
(App.Current.RootVisual as FrameworkElement).ActualWidth
Current page:
Si vous voulez connaître la taille visible (en AppBar / SystemTray en compte), puis demandez-le hors de la page à la place.