WPF Webbrowser-Steuerung und DPI-Skalierung

Ich arbeite mit einer WPF-Anwendung, die das Webbrowser-Steuerelement verwendet, und habe Probleme mit der Skalierung mit hoher DPI.

Es sieht so aus, als würde das Webbrowser-Steuerelement die DPI-Einstellungen des Systems nicht ordnungsgemäß berücksichtigen, während der Rest der WPF-Anwendung die Benutzeroberfläche ordnungsgemäß skaliert. Dies bedeutet, dass auf höheren Skalierungsstufen die WPF-Oberfläche größer wird, während der Inhalt des Webbrowsers auf der ursprünglichen, jetzt kleiner aussehenden Größe bleibt.

Hier ist ein Beispiel für Screenshots einer WPF-App, die zwei Webbrowser-Steuerelemente verwendet.

100% Skalierung:

150% Skalierung:

Beachten Sie, dass im zweiten Bild die Skalierung des Webbrowsers im Verhältnis zum Inhalt des Hauptformulars (Symbolleiste / Menü / Statusleiste) viel kleiner ist als im ersten Bild.

Gibt es eine Möglichkeit, das Webbrowser-Steuerelement zu zwingen, die von der Anwendung geerbten Einstellungen für hohe DPI-Werte ordnungsgemäß zu verwenden?

Dieser MSDN-Link: Ansprechen von DPI-Problemen

zeigt einen sehr einfachen Ansatz (am Ende des Dokuments) zum Implementieren benutzerdefinierter COM-Schnittstellen für Webbrowser, aber ich frage mich, ob es einen saubereren Weg gibt, dies zu beheben.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage