2010-12-29 16 views
0

Bei einer Fenstersteuerung ist mein Hauptcontainer ein Gitter.
Mein Raster hat 2 Zeilen, die eine Zeile ist 50 * und die andere 250 *.
Jetzt möchte ich eine rechte Sidebar hinzufügen, sagen wir mit einem StackPanel.
Ich hätte gerne eine ListBox im StackPanel, die mit der 50 * Rasterzeile ausgerichtet ist. Wenn also die Fensterhöhe größer wird, wird auch die ListBox größer.
Meine Frage ist, ob ich dieses Verhalten erreichen kann, während die ListBox innerhalb des StackPanel (die im Raster verschachtelt ist) oder muss die ListBox direkt im Raster platziert werden?Wpf Nesting Container

+0

Warum ein StackPanel (und kein DockPanel)? –

Antwort

3

StackPanel streckt sich nicht vertikal.

Wenn Sie eine Verpackung übergeordneten Container benötigen müssen, verwenden Sie eine Grid, die in alle Richtungen erweitern wird (wenn Sie die Horizontal- und Vertical allein natürlich verlassen;))

Auch die Panel Overview auf MSDN angeboten werden.

Panel Name  x-Dimension    y-Dimension 


- Canvas   Constrained to content  Constrained to content 
- DockPanel  Constrained    Constrained 
- StackPanel  Constrained    Constrained to content 
    (Vertical Orientation)  
- StackPanel  Constrained to content Constrained 
    (Horizontal Orientation) 
- Grid  Constrained    Constrained, except in cases where Auto apply to rows and columns 
- WrapPanel  Constrained to content Constrained to content 
+0

Sie schlagen vor, ein Gitter in einem Gitter als Seitenleiste zu haben? – dortzur

+0

Sicher, Sie können diese Gitter ohne Ende verschachteln. – Arcturus