Anpassen des Inhalts an die Bildschirmauflösung

7

Hallo, ich habe ein Fenster (wpf) mit Beschriftungen und Textfeldern, ich möchte, dass er so gut wie möglich zur Bildschirmauflösung passt, wie mache ich es

    
Chen Kinnrot 11.07.2009, 18:44
quelle

4 Antworten

25

Viewbox ist sehr nützlich, wenn Sie den Inhalt Ihres Fensters proportional skalieren müssen, wenn Sie die Größe des Fensters ändern (zum Beispiel, um es zu maximieren). In dieser minimalistischen Seite

%Vor%

Sie haben einen TextBlock und einen farbigen Rahmen vertikal gestapelt; Wenn Sie dieses Xaml starten, wird das Fenster eine Größe von 300x300 haben, die Schriftart des TextBlocks wird 14 sein und der farbige Rahmen wird 100x100 sein. Wenn Sie das Fenster neu skalieren, sehen Sie sowohl die TextBlock- als auch die Border-Skala entsprechend (so dass sie nicht mehr der Größe entsprechen, die Sie in der XAML angegeben haben), wobei die relativen Proportionen beibehalten werden. Viewbox ist in diesem Zusammenhang sehr nützlich, wenn Sie ein Fenster benötigen, dessen internes Komponentenlayout unabhängig von der endgültigen Auflösung immer gleich aussieht (was wichtig ist, ist das Seitenverhältnis, Gedanke). Dies funktioniert natürlich mit allen Inhalten, die Sie in die Viewbox einfügen (wir hatten zum Beispiel eine Anwendung mit Videos und 3D-Ansichten). Beachten Sie, dass Sie in Visual Studio 2008 den Inhalt der Viewbox im Designer nicht sehen können.

Hoffe diese Hilfe.

    
Orporick 14.07.2009, 14:39
quelle
2

Wenn Sie wirklich alles skalieren möchten, einschließlich der Schriftgrößen, könnten Sie wahrscheinlich eine Skalierungstransformation auf Ihren Inhalt anwenden und die X- und Y-Werte an die Breite und Höhe des Fensters binden. Sie benötigen dann auch einen Wertkonverter, um diese in die entsprechende Skalierung zu konvertieren.

    
Botz3000 12.07.2009 02:03
quelle
1

Wenn Sie alles auf die Größe des Fensters skalieren möchten, legen Sie alles in ein Viewbox-Steuerelement.

    
Nir 12.07.2009 08:34
quelle
0

Meinst du, dass das Fenster den gesamten Bildschirm ausfüllen soll? Der einfachste Weg dies zu tun (ohne weitere Kopfschmerzen zu verursachen) ist, das Fenster zu maximieren.

%Vor%

BEARBEITEN:

Ein skalierbares Fensterlayout erfordert, dass Sie den XAML-Editor in Visual Studio nicht verwenden! Eigentlich kannst du es im Editor machen, aber es ist sehr schwer.

Viel einfacher, den XAML von Hand zu schreiben:

%Vor%

Dies passt sich dem Fenster an, obwohl es seltsam aussehen mag, da die Zeilen und Spalten standardmäßig die Hälfte des Speicherplatzes erhalten. Sie können dies überschreiben, so dass sie stattdessen eine Höhe haben, die durch ihren Inhalt bestimmt wird:

%Vor%

Es kann auch helfen, Ränder auf einige Steuerelemente zu setzen, um sie zu spacen:

%Vor%     
Daniel Earwicker 11.07.2009 18:47
quelle

Tags und Links