DPI Skalierung in .NET 3.5 in gemischten WinForms und WPF-Anwendungen

8

In dieser Beitrag , erläutert CodeNaked, wie die TextFormattingModeProperty der Anwendung geändert werden kann. Dies löst mein Problem (siehe unten) perfekt in .Net 4. Allerdings ist meine Produktion Anwendung in. Net 3.5, die diese Eigenschaft überhaupt nicht hat. Wie erreiche ich dasselbe in .Net 3.5?

Mein Wurzelproblem:

Ich habe eine Winforms-Anwendung, die auf .Net 3.5 basiert und einige WPF-Steuerelemente auf bestimmten Bildschirmen enthält. Wenn die Windows DPI-Einstellung auf 150% (nicht 120%) festgelegt ist, erfolgt die Skalierung wie erwartet. Sobald jedoch ein WPF-Steuerelement erstellt wird, wird die Skalierung für alle Fenster auf 100% zurückgesetzt. Ich möchte, dass die Skalierung unverändert bleibt.

Ich habe eine Testanwendung zum Vorführen erstellt. Standardmäßig öffnet es eine Winform, die über eine Schaltfläche verfügt, die ein weiteres WinForm mit einem WPF-Steuerelement öffnet. Wenn Sie das zweite Formular unverändert lassen, wird die Skalierung auf 100% zurückgesetzt. Wenn Zeile 11 in Form1.vb jedoch unkommentiert ist, wird die Skalierung korrekt fortgesetzt, wenn das zweite Formular geöffnet wird.

%Vor%

Klassen App:

%Vor%     
bruestle2 23.10.2013, 21:07
quelle

1 Antwort

4

Sie müssen Ihre App direkt definieren, ist DPI-bewusst

Ссылка

Ich habe die app.manifest-Datei in Ihrem Projekt erstellt und

hinzugefügt %Vor%

wo asmv3

ist %Vor%     
dmay 06.11.2014, 22:25
quelle

Tags und Links