Suchen und Finden
Service
Infos und Kontakt
Mehr zum Inhalt
Windows Presentation Foundation - WPF - Grafische Oberflächen entwickeln mit .NET 3.0
5 Layoutcontainer (S. 89-90)
5.1 Grundlagen Ordnung ist das halbe Leben, die Anordnung
von Komponenten in einer Benutzeroberfläche ist das Gegenstück für die Entwickler. Bei der Entwicklung von grafischen Anwendungen ist es notwendig, die einzelnen Bestandteile eines Fensters oder Dialogs, z. B. Schaltflächen, Eingabefelder, Listen oder Grafiken, an einer bestimmten Position zu positionieren. Hat man die Position einer Komponente einmal festgelegt, wird die Komponente entweder
immer an der gleichen Stelle angezeigt,
an einer Position angezeigt, deren relative Lage zu den anderen Komponenten erhalten bleibt,
bei Änderungen der Fenstergröße oder z. B. der verwendeten Schriftart abhängig vom verwendeten Layout vollständig neu positioniert.
Im .NET Framework 2.0 wurden mit dem TableLayoutPanel und FlowLayoutPanel bereits zwei Layoutkomponenten eingeführt, die ihre enthaltenen Komponenten tabellarisch oder fließend neben- und untereinander anordnen konnten. Ein wichtiger Unterschied zum bisherigen Layout bestand darin, dass die Elemente nicht mehr über fixe Positionen und Größen verfügen (Position der linken, oberen Ecke, Breite und Höhe), sondern automatisch angeordnet wurden. Dadurch kann sich das Layout eines Fensters dynamisch an verschiedene Auflösungen oder Fenstergrößen anpassen und dem Benutzers eine optimale Benutzerschnittstelle anbieten. Allerdings ist dabei Fingerspitzengefühl gefragt, damit das Ergebnis der automatischen Anordnung auch ein anwenderfreundliches Ergebnis, sprich Layout, erzielt.
Jede Layoutkomponente ist auch ein Container für andere Komponenten, nämlich den Komponenten, die durch den Container verwaltet werden. Während beispielsweise in einem Canvas die enthaltenen Komponenten an der Stelle und in der definierten Größe dargestellt werden, an der sie positioniert wurden, richtet sich die Lage und Größe der Komponenten in einem StackPanel z. B. an der Breite und Höhe der enthaltenen Komponenten, der Breite und Höhe des Containers und der speziellen Anordnung (vertikal oder horizontal) aus. Die Anordnung und die Größe der Elemente können sich in einem StackPanel dynamisch ändern.
Beispiel
Zur Verdeutlichung wird im Folgenden der Layoutcontainer DockPanel verwendet. Alle darin eingebetteten Komponenten können an den vier Rändern (oben, unten, links, rechts) des Containers angeordnet werden. Das letzte Element füllt standardmäßig den restlichen inneren Bereich des Containers aus. In Abbildung 5.1 wird eine Tool- Bar angezeigt, die oben in der Anwendung angeordnet wird. Dazu wird die Attached Property innerhalb des ToolBar-Elements mittels des Attributs DockPanel.Dock auf den Wert Top gesetzt. Eine Statusleiste wird dagegen im unteren Bereich positioniert. Hier wird der Wert Bottom im Attribut DockPanel.Dock verwendet. Zum Abschluss wird über ein Canvas der restliche Bereich vereinnahmt. Selbst wenn Sie im Canvas eine Ausrichtung angegeben hätten, würde diese durch die Tatsache überschrieben, dass das Canvas das zuletzt eingefügte Element ist. Die Reihenfolge, mit der die Komponenten in das DockPanel eingefügt werden, ist demnach unbedingt einzuhalten.
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion






















