Hallo,
per Databinding kann man die Breite und Höhe von Elementen festlegen. Ich habe jetzt ein Grid mit der Höhe 600 Pixel. Jetzt möchte ich die Oberfläche so aufteilen, das oben und unten jeweils 1/6 der Gridhöhe für einen Bereich und in der Mitte noch einmal zwei Teilbereiche mit 1/3 der Gridhöhe genutzt wird.
Im Moment habe ich die Werte für die Höhe der einzelnen Bereiche fest codiert - mir wäre aber eine dynamische Lösung lieber. Wird das unterstützt?
Vielen Dank
nordside
Hallo Nordside,
Du hast neben der festen Angabe von (Device-)Pixeln noch zwei andere Möglichkeiten, die Höhe einer Row in einem Grid anzugeben.
Die eine ist "Auto", damit wird die Höhe genau an die Grösse des Inhalt angepasst, die andere is der sog. "Star-Syntax", der Dir erlaubt, mit Grössenverhältnissen zu arbeiten:
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<!-- 1/6 -->
<RowDefinition Height="*" />
<!-- 2/6 -->
<RowDefinition Height="2*" />
<!-- 2/6 -->
<RowDefinition Height="2*" />
<!-- 1/6 -->
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
Bei Bedarf kannst Du auch eine minimale Höhe und maximale für die Zeilen angeben.
HTH
Florian
www.planet-xaml.net
Wobei von absoluten Größenangaben außer dort wo sie wirklich benötigt werden eh abgeraten wird, da sie meist unnötig sind, das automatisierte Layout erschweren und was noch dazukommt: Das WPF Layout System muss sich gar nicht daran halten was du ihm als Größe angibst 😉 - sprich manchmal sogar nutzls.
Beim Grid ist die * Syntax eindeutig die bessere gegenüber absoluten Größenangaben.
Baka wa shinanakya naoranai.
Mein XING Profil.