Frage

Wie relative Skalengröße von User Control wie Bild (Bild-Editor).

Beispiel (100%):


(Quelle: stegnar.com )

Verkleinert UC (70%):


(Quelle: stegnar.com )

Nun, ich erreichen dies in Bild-Editor, aber ich würde in WPF mag. :) Ich brauche dies meine Anwendung auf unterschiedliche Bildschirmauflösung zu verändern, während nichts verstecken (keine Scrollbalken).

War es hilfreich?

Lösung

Sie könnten die ViewBox Kontrolle versuchen, das seinen Inhalt skaliert nach oben / unten, so dass sie den verfügbaren Raum füllen.

<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Window1">
<Grid>
    <Viewbox StretchDirection="Both" Stretch="Uniform">
        <local:UserControl1 Height="600" Width="600"/>
    </Viewbox>
</Grid>

Andere Tipps

können Sie den gesamten Behälter in eine ViewBox legen

<Viewbox StretchDirection="Both" Stretch="Uniform">
  <Grid>...</Grid>
</Viewbox>

Sie müssen nicht platzieren Sie jeden einzelnen Textblock in it!

Die Verwendung von Viewbox (wie gesagt von Mailand Nankov) ist eine großartige Idee. Eine Sache, die ich muss Sie warnen, dass es auch in oder aus anderen visuellen Aspekte zoomt auch.

Zum Beispiel kann eine Textbox mit der Dimension 200 X 1000 ist sehr verschieden von einem Textfeld mit der Dimension 20 x 100 gezoomt 10x.

WPF bietet viele Layouten Optionen, die Dimension der Kontrollen entsprechend der Größe des Behälters ändern können. Aber es ist nicht die Größe des Textes ändern. Viewbox überwindet dieses Problem, aber es stellt ein weiteres Problem. Überprüfen Sie das Bild unter dem zeigt die gleiche Textbox in einem Sichtgerät vor und nach dem Zoomen.

Artefakte durch die Verwendung von Sichtgerät eingeführt

Ein Trick, der verwendet werden könnte, ist jeder Textblock in einem Sichtgerät zu platzieren. Aber ich denke, das wäre zuviel des Guten sein, und ich ernsthaft tun, die keine Unterstützung für diesen Trick. Bitte verwenden Sie für sich selbst prüfen und beantworten, ob es praktikabel oder nicht.

Ein weiterer Trick könnte sein, die Kontrolle der Höhe auf die Schriftgröße zu binden. Wir würden einen Konverter in diesem Fall werden müssen. Bitte auf diese Antwort .. Resize Schrift in TextBox in Grid

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top