22 Die Layoutcontainer
In einer auf WinForms basierenden Windows-Anwendung dürfen Sie ganz unbekümmert und nach Belieben die Steuerelemente anordnen. In einer WPF-Anwendung geht das nicht so einfach. Hinsichtlich der Platzierung der Controls reden hier die Layoutcontainer ein gewichtiges Wort mit. Das bedeutet nicht, dass Sie sich dieser Gruppe völlig unterwerfen müssen und ihr auf Gedeih und Verderb ausgeliefert sind. Wenn Sie sich jedoch für einen bestimmten Layoutcontainer entscheiden, können Sie die Steuerelemente darin nur nach den Regeln des betreffenden Layoutcontainers anordnen.
Die Idee, die hinter den Layoutcontainern steckt, ist, eine Komponente an einer bestimmten Position zu positionieren. Das hat den Vorteil, dass die Komponente immer an der gleichen Stelle angezeigt wird und die relative Lage zu allen anderen Komponenten erhalten bleibt.
Das WPF-Framework stellt uns mehrere unterschiedliche Container mit ebenso unterschiedlichen Charakteristika bereit. Sie können diese ineinander verschachteln, sodass Sie am Ende das von Ihnen angestrebte Layout des Fensters erzielen.
22.1 Übersicht über die Layoutcontainer 

Layoutcontainer sind dazu gedacht, die darin enthaltenen Controls anzuordnen. Es liegt daher nahe, sich zuerst einen Überblick über die von WPF angebotenen Layoutcontainer verschaffen. Anschließend werden wir uns mit den wichtigsten Containern näher beschäftigen.
| Layoutcontainer | Kurzbeschreibung |
|
Canvas |
Die Steuerelemente werden an einer angegebenen Position in einer festgelegten Größe angezeigt. |
|
DockPanel |
Die Steuerelemente können an den Rändern angedockt werden. |
|
Grid |
Dieser Container stellt eine tabellenartige Struktur zur Verfügung, in deren Zellen die einzelnen Controls positioniert werden können. |
|
StackPanel |
Die Steuerelemente werden vertikal oder horizontal angeordnet (gestapelt). |
|
TabPanel |
Dieser Container ähnelt dem TabControl. Es enthält untergeordnete Tabellenblätter, in denen die Controls angeordnet werden. |
|
ToolBarOverflowPanel |
Dieser Container ordnet die Items der Toolbar an. |
|
UniformGrid |
Dieser Container stellt ein Raster aus gleich großen Zellen dar. |
|
VirtualizingPanel |
Dieser Container ist als abstrakte Klasse implementiert. Mit diesem Container lassen sich Elemente auf Basis einer dahinterliegenden Struktur anzeigen. |
|
VirtualizingStackPanel |
Mit ihm kann eine Auswahl vertikal oder horizontal angeordnet werden. |
|
WrapPanel |
Mit diesem Container werden die Controls vertikal oder horizontal angeordnet. Falls die Breite oder die Höhe nicht ausreichen, werden die enthaltenen Steuerelemente in die nächste Zeile umbrochen. |
Alle Layoutcontainer sind direkt oder indirekt auf eine gemeinsame Basisklasse zurückzuführen: die Klasse Panel. Damit ist klar, dass alle gemeinsamen Eigenschaften und Methoden in Panel zu finden sind. Ich kann an dieser Stelle nicht alle Eigenschaften und Methoden aufführen, dafür ist die Liste zu lang. Stattdessen möchte ich Ihnen einen kleinen Überblick verschaffen, damit Sie eine erste Orientierung finden. Bei Bedarf informieren Sie sich bitte in der Dokumentation.
| Eigenschaft | Beschreibung |
|
Background |
Die Hintergrundfarbe des Containers |
|
Children |
Liefert die Referenz auf eine Collection (UIElementCollection) von den Komponenten, die sich im Container befinden. |
|
Cursor |
Legt den angezeigten Cursor fest. |
|
Focusable |
Legt fest, ob der Container fokussierbar ist. |
|
Height |
Die Höhe des Containers |
|
HorizontalAlignment |
Beschreibt die horizontale Ausrichtung im Container. |
|
Margin |
Legt den Abstand des Containers zu seiner übergeordneten Komponente fest. |
|
MaxHeight |
Legt die maximale Höhe des Panels fest. |
|
MaxWidth |
Legt die maximale Breite des Panels fest. |
|
MinHeight |
Legt die minimale Höhe des Panels fest. |
|
MinWidth |
Legt die minimale Breite des Panels fest. |
|
VerticalAlignment |
Beschreibt die vertikale Ausrichtung im Container. |
|
Width |
Die Breite des Containers |




Jetzt bestellen





