WPF: Größe unabhängig von Bildschirm-Auflösung



  • Hi,

    ich habe meine WPF-GUI erstmal absichtlich in einer 1024*768 Auflösung gestaltet, und möchte das aber so haben, dass bei höheren Auflösungen das Fenster und die Kontroll-Elemente nicht kleiner werden. Der Link hier gibt mir den Eindruck dass das irgendwie gehen müsste:
    http://stackoverflow.com/questions/2236173/screen-resolution-problem-in-wpf

    So richtig verstehe ich das aber nicht und hab jetzt auch keine Idee, wie ich da ansetzen muss. Könnte mir vielleicht jemand ein paar Tipps geben wie man das macht, bitte?

    Grüsse
    Ank



  • Ich möchte vorausschicken, dass "Auflösung" im IT-Sprachgebrauch als Anzahl der Pixelspalten und -zeilen auf einem Bildschirm verwendet wird. Diese Verwendung unterscheidet sich in ihrer Bedeutung beträchtlich vom allgemeineren Auflösungsbegriff, z.B. in der Optik.

    Bedienelemente werden bei höherer Auflösung dann kleiner, wenn diese mit einem höheren "DPI-Wert" einhergeht. Auf einem geometrisch gleich großen Monitor also, der mehr Pixelzeilen und -spalten darstellt.

    Korrespondiert dagegen die höhere Auflösung mit einem Monitor entsprechend größerer Abmessungen, dann bleibt die Darstellung der Bedienelemente gleich groß. Sie wird dann von mehr leerem Raum umgeben.

    Welche Variante willst Du verhindern?



  • luker schrieb:

    Bedienelemente werden bei höherer Auflösung dann kleiner, wenn diese mit einem höheren "DPI-Wert" einhergeht. Auf einem geometrisch gleich großen Monitor also, der mehr Pixelzeilen und -spalten darstellt.

    Ja, das mein ich, also wenn ich in Windows die Bildschirmauflösung erhöhe und dadurch alles kleiner wird.

    Grüsse
    Ank



  • luker schrieb:

    Bedienelemente werden bei höherer Auflösung dann kleiner, wenn diese mit einem höheren "DPI-Wert" einhergeht. Auf einem geometrisch gleich großen Monitor also, der mehr Pixelzeilen und -spalten darstellt.

    WPF arbeitet nicht nicht festen Pixeln, sondern mit virtuellen die von der DPI-Einstellung abhängig sind. In der reinen Theorie würde daher in WPF ein Control das in Auflösung x 2cm breit ist, bei einer Auflösung y auch 2cm breit sein.

    Nur wird der DPI-Wert den WPF ausliest scheinbar nicht mit der Auflösung verändert, sondern fix z.B. aus den Systemeinstellungen übernommen. Theoretisch könnte sich dies irgendwann ändern, wenn OS und Monitore sich hier austauschen (und man die konkrete DPI-Angabe zur aktuellen Auflösung erhält).

    Ich glaube mich zu erinnern, das es im wesentlichen an der folgenden Einstellung hängt: Systemsteuerung/Anzeige/Die Größe aller Elemente ändern.



  • asc schrieb:

    Nur wird der DPI-Wert den WPF ausliest scheinbar nicht mit der Auflösung verändert, sondern fix z.B. aus den Systemeinstellungen übernommen. Theoretisch könnte sich dies irgendwann ändern, wenn OS und Monitore sich hier austauschen (und man die konkrete DPI-Angabe zur aktuellen Auflösung erhält).

    Auf Multi-Monitor-Systemen wird man es wohl nie 100% garantieren können, da die verschiedenen Monitore ja unterschiedliche Pixelgrössen haben können.


Anmelden zum Antworten