Holen Sie sich die Bildschirm-Auflösung in Win10 UWP-App
Als UWP-App läuft im Fenster-Modus auf gängigen desktop-Systeme der "alten" Weg, der Bildschirm-Auflösung nicht mehr funktioniert.
Alte Auflösung mit Window.Current.Bounds
war wie dargestellt.
Ist es ein weiterer Weg, um die Auflösung der (primär -) display?
Würden Sie bitte erklären, was bedeutet es, dass es nicht funktioniert?
Fenster.Aktuelle.Grenzen gibt die Größe des aktuellen Fensters, nicht die Größe des Bildschirms.
Neugierig zu Fragen. Warum brauchen Sie, zu wissen, die Auflösung?
Es gibt mehrere use-cases. Zum Beispiel, wenn Sie möchten, erstellen Sie eine desktop-hintergrund-Bild. Ich habe "nur" Bedarf es für die Verfolgung.
Fenster.Aktuelle.Grenzen gibt die Größe des aktuellen Fensters, nicht die Größe des Bildschirms.
Neugierig zu Fragen. Warum brauchen Sie, zu wissen, die Auflösung?
Es gibt mehrere use-cases. Zum Beispiel, wenn Sie möchten, erstellen Sie eine desktop-hintergrund-Bild. Ich habe "nur" Bedarf es für die Verfolgung.
InformationsquelleAutor Alex Witkowski | 2015-08-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verbessern, die anderen Antworten auch ein bisschen mehr, folgender code kümmert sich auch um die Skalierungsfaktoren, z.B. für meine 200% für meinen Windows-Anzeige (richtig gibt 3200x1800) und 300% des Lumia 930 (1920x1080).
Wie bereits in den anderen Antworten, das gibt nur die richtige Größe auf dem Desktop, bevor Sie die Größe der root-frame geändert wird.
Aktualisiert meine Antwort ein wenig. Der Grund dafür ist, dass die codes von den anderen Antworten nicht kümmern sich um die Skalierung (200% auf meinem Windows-Gerät und 300% für das Lumia 930) und sind falsch auf meinen Geräten.
Okay, ist Recht sicher. Sie können Bearbeiten, es ein weiteres mal und erwähnen, dass es nur funktioniert, bevor Sie die Größe der root-frame geändert wird. als Ihre Antwort wird sein, die komplette Lösung 😉
Ah ich sehe. Ja eine besser fügt es nach
Window.Current.Activate();
oder in einem anderen Teil der code, der ausgeführt wird, bevor das root-frame-Größe ändert (das ist, warum es funktionierte in mehrere ViewModel Konstruktoren, wo ich es ausprobiert...).Nur um zu verbessern die Antwort, die Sie ändern können, Grenzen gesetzt.Höhe Grenzen gesetzt.Unten gibt genaue dpi-Wert in der Windows-Mobile-und Desktop-windows.
var size = new Size(bounds.Width * scaleFactor, bounds.Bottom * scaleFactor);
InformationsquelleAutor sibbl
Rufen Sie diese Methode jederzeit und überall (getestet im mobile - /desktop-App):
Genie. Dies sollte die Antwort akzeptiert, da die derzeitige nicht handhaben app verwendet, in den externen Monitor.
InformationsquelleAutor SeregaLBN
Okay, so die Antwort von Juan Pablo Garcia Coello führen mich zu der Lösung - vielen Dank dafür!
Können Sie
aber Sie müssen nennen es, bevor das Fenster angezeigt wird in meinem Fall direkt nach
ist ein guter Ort. In dieser Zeit werden Sie die Grenzen des Fensters, auf dem Ihre app wird angezeigt.
Vielen Dank für die mir helfen es zu lösen 🙂
Grüße Alex
InformationsquelleAutor Alex Witkowski
Den einfacheren Weg:
Diese nicht abhängig vom aktuellen view Größe. Zu jeder Zeit gibt es echte Bildschirmauflösung.
InformationsquelleAutor Vyacheslav
Der einzige Weg, fand ich im inneren der Konstruktor der Seite:
Habe ich nicht getestet, im Windows 10 Mobile, wenn die neue Version erscheint, werde ich das testen.
InformationsquelleAutor Juan Pablo Garcia Coello
Verwenden Sie diese Methode, um die Bildschirm-Größe:
Sollten Sie diese Methode aufrufen, App.xaml.cs, nach dem Fenster.Aktuelle.Aktivieren (); "onlaunched" - Methode.
Hier ist der Beispiel-code, und Sie können download das komplette Projekt.
InformationsquelleAutor Ann Yu
Setzen Sie einfach einen Namen für den main-Grid oder die Seite und rufen Sie die Breite oder Höhe für ein element Sie wollen:
ist es der einfachste Weg, die Sie verwenden können!
InformationsquelleAutor Aminkhs