Wie bekomme ich die Bildschirmgröße unter Windows Phone 7 -Serie?
-
25-09-2019 - |
Frage
Wie bekomme ich programmatisch die Bildschirmauflösung auf WP7? Hier sind eine Reihe von Links, die den gleichen Job in Desktop WPF und Silverlight erledigen, aber keiner davon ist im Telefon SDK.
Irgendwelche Ideen?
http://social.msdn.microsoft.com/forums/en-us/windowphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e
http://social.msdn.microsoft.com/forums/en-us/wpf/thread/6b6b832f-0dfd-428c-84cd-b1b9e7f236cf
Wie kann ich die aktiven Bildschirmabmessungen erhalten?
http://social.msdn.microsoft.com/forums/en-us/windowphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e
Lösung
Es sieht aus wie application.current.rootvisual.renderSize wird Ihnen diese Informationen geben.
Andere Tipps
Ich benutze das:
this.ScreenWidth = System.Windows.Application.Current.Host.Content.ActualWidth;
this.ScreenHeight = System.Windows.Application.Current.Host.Content.ActualHeight;
Viele Möglichkeiten, eine App zu häuten. Wenn es für XAML ist, können Sie an die Eigenschaften des Layoutroots binden.
Height="{Binding ElementName=LayoutRoot,Path=ActualHeight}"
Ich kann noch nicht runter/upvote(Eigentlich kann ich jetzt und ich getan), aber ich möchte darauf hinweisen, dass "Luke Puplett" beantwortet wird.
Ich werde Namen verwenden, die üblicherweise in Tutorials oder Beispielanwendungen von MSDN verwendet werden.
Ich sage, Host.current ist angemessener, denn zu Beginn der Anwendung, insbesondere auf dem WP7 (ich weiß nicht, wie es auf "regulär" SL3/SL4 auf PC ist) - dh zum Beispiel in der Ganzer Konstruktor der ersten Seite - Die Rendersize -Eigenschaft ist noch nicht korrekt festgelegt, da die "rootvisuelle" der Anwendung konstruiert und in "app.xaml.cs" noch nicht zugewiesen wurde. Zumindest in diesem Punkt die Rendersize = Größe {0,0}
Wenn jedoch nur die App korrekt startet, ist der Host.content auf einen Telefonrahmen gesetzt, der korrekt in voller Bildschirmgröße ist und in die tatsächliche Bildschirmposition gedreht wird. Ich würde vermuten, dass es zu Beginn der Startschild Bildschirm ist (leer oder statisch aus der JPG -Datei)
Wenn Sie innerhalb eines XNA -Spiels auf die Anzeigegröße zugreifen möchten, verwenden Sie Folgendes:
graphics.GraphicsDevice.DisplayMode.Width
und
graphics.GraphicsDevice.DisplayMode.Height
Wo Grafik das aktuelle GraphicDevicemanager des aktuellen Spiels ist!
Ganzer Bildschirm:
(App.Current.RootVisual as FrameworkElement).ActualHeight
(App.Current.RootVisual as FrameworkElement).ActualWidth
Aktuelle Seite:
Wenn Sie die sichtbare Größe kennen möchten (unter Berücksichtigung von Appbar / SystemTray), fragen Sie sie stattdessen von der Seite.