Skalieren WPF-Anwendungen normalerweise problemlos auf DPI-Bildschirmen mit hoher Auflösung (ohne weitere Anpassung eines Manifests usw.)? Es war mein Verständnis, dass sie es taten?WPF-Anwendung auf dem Bildschirm mit hoher DPI unter Windows unscharf 10
Zwei WPF-Anwendungen, die ich geschrieben habe, erscheinen auf meinem neuen Laptop (mit Windows 10) auf dem Laptop-Bildschirm verschwommen. Normalerweise ist der primäre Bildschirm des Laptops auf einen externen Monitor mit niedriger Auflösung eingestellt, und das eingebaute Laptop-Panel wird auf 125% skaliert. Die Unschärfe wird jedoch unabhängig davon angezeigt, ob der Monitor mit niedriger Auflösung angeschlossen ist oder nicht.
Ich dachte, es könnte etwas mit der Art und Weise zu tun haben, wie meine beiden Anwendungen starten (über eine Hauptmethode, anstatt die Standard-Code-Vorlage, die ein primäres Fenster startet), aber ich habe gerade Visual Studio 2015 gefeuert und generiert eine brandneue WPF-Anwendung mit der Projektvorlage (nur ein paar Optionsfelder auf einem leeren Formular) und es skaliert auch nicht zu hohen DPI auf meinem System.
Es kann auch erwähnenswert sein, dass ich die Registrierungseinstellung "bevorzugtes externes Manifest" in meiner Windows-Kopie konfiguriert habe, um pro Anwendung die Hoch-dpi-Skalierung mit einem Manifest zu deaktivieren. (d. h. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide "PreferExternalManifest"=dword:00000001
).
Hallo Hans - danke für deine Antwort. Es scheint, dass das Hinzufügen von Multi-Monitor-Unterstützung ist, was ich tun müsste. Es ist interessant, dass die Trennung der niedrigen dpi (externen) Monitor das Rendering nicht früher gelöscht, wenn ich es versuchte - aber dann denke ich, ich fehlte nur den Schritt des Neustartens der Maschine (oder Ausloggen zumindest) nach dem Trennen der Monitor. Die Einstellung des Laptopbildschirms als primäre Anzeige hat das unscharfe Rendering auch nicht korrigiert - bis ich neu gestartet habe (Windows warnt, dass einige Anwendungen nicht auf Skalierungsänderungen reagieren, bis sie sich ausloggen, wenn Sie die primäre Anzeige ändern). –
4.6.2 macht WPF-Anwendungen pro Monitor standardmäßig gemäß Microsoft bekannt. Siehe meine Antwort – magicandre1981