21.10 Symbolleisten 

Symbolleisten vom Typ ToolBar sind einfach aufgebaut. Es sind Container für Steuerelemente. Normalerweise ist eine Symbolleiste unterhalb der Menüleiste angedockt.
<DockPanel>
<Menu DockPanel.Dock="Top" Name="mnuMenu">
</Menu>
<ToolBar DockPanel.Dock="Top" Height="30">
<Button>
<Image Source="Bilder/DateiÖffnen.png" />
</Button>
<Button>
<Image Source="Bilder/DateiSpeichern.png" />
</Button>
<Separator />
<ComboBox Width="80" SelectedIndex="0">
<ComboBoxItem>Arial</ComboBoxItem>
<ComboBoxItem>Courier</ComboBoxItem>
<ComboBoxItem>Windings</ComboBoxItem>
</ComboBox>
</ToolBar>
<StackPanel>
</StackPanel>
</DockPanel>
Beim Verkleinern des Fensters kann es passieren, dass die Fensterbreite nicht mehr ausreicht, um alle in einer ToolBar enthaltenen Komponenten anzuzeigen. Es wird dann ein Überlaufbereich erzeugt, an dessen Ende ein Button mit einem Pfeil angezeigt wird. Über diese Schaltfläche lässt sich ein Menü aufklappen, in dem die nicht mehr darstellbaren Elemente angezeigt werden.
Das Überlaufverhalten der Steuerelemente legt die zugeordnete Eigenschaft OverflowMode vom Typ der gleichnamigen Enumeration fest (siehe Tabelle 21.7).
Konstante | Beschreibung |
Always |
Das Steuerelement wird immer im Überlaufbereich angezeigt. |
AsNeeded |
Das Steuerelement wird bei Bedarf im Überlaufbereich angezeigt. |
Never |
Das Steuerelement wird nie im Überlaufbereich angezeigt. |
Der folgende Code definiert eine Symbolleiste mit drei ComboBox-Steuerelementen. Jeder ist eine andere Einstellung der Eigenschaft OverflowMode zugewiesen.
<ToolBar Height="30">
<Button>
<Image Source="Bilder/DateiÖffnen.png" />
</Button>
<Button>
<Image Source="Bilder/DateiSpeichern.png" />
</Button>
<Separator />
<ComboBox Width="80" SelectedIndex="0" ToolBar.OverflowMode="Always">
<ComboBoxItem>Arial</ComboBoxItem>
<ComboBoxItem>Courier</ComboBoxItem>
<ComboBoxItem>Windings</ComboBoxItem>
</ComboBox>
<ComboBox Width="80" SelectedIndex="0" ToolBar.OverflowMode="AsNeeded">
<ComboBoxItem>Bonn</ComboBoxItem>
<ComboBoxItem>München</ComboBoxItem>
<ComboBoxItem>Nürnberg</ComboBoxItem>
</ComboBox>
<ComboBox Width="80" SelectedIndex="0" ToolBar.OverflowMode="Never">
<ComboBoxItem>Test1</ComboBoxItem>
<ComboBoxItem>Test2</ComboBoxItem>
<ComboBoxItem>Test3</ComboBoxItem>
</ComboBox>
</ToolBar>
Abbildung 21.9 zeigt die Auswirkungen der Einstellungen. Das Kombinationslistenfeld mit der Einstellung OverflowMode=Always ist auch dann nur über die Dropdown-Schaltfläche in der Symbolleiste zu erreichen, wenn die Breite der Form zur Darstellung ausreichen würde. Wird die Fensterbreite stark verringert, wird nur noch die ComboBox in der Symbolleiste angezeigt, deren Einstellung OverflowMode=Never lautet.
Abbildung 21.9 Einfluss von »OverflowMode«
21.10.1 Positionieren mit der Komponente ToolBarTray 

Die Komponente ToolBarTray ist ein Container für ToolBar-Steuerelemente. In einem ToolBarTray ist es möglich, Symbolleisten hintereinander oder in mehreren Reihen anzuzeigen und mittels Drag&Drop zu verschieben.
Zur Positionierung stellt das ToolBar-Steuerelement die Eigenschaften Band und BandIndex zur Verfügung. Mit Band geben Sie an, in welcher Zeile die ToolBar erscheinen soll. Mit BandIndex legen Sie deren Position innerhalb der Zeile fest.
<ToolBarTray DockPanel.Dock="Top" IsLocked="False">
<ToolBar Height="30" Band="0" BandIndex="0">
...
</ToolBar>
<ToolBar Height="30" Band="0" BandIndex="0" >
...
</ToolBar>
<ToolBar Height="30" Band="1" Band="0">
...
</ToolBar>
<ToolBar Height="30" Band="1" BandIndex="1" >
...
</ToolBar>
</ToolBarTray>
Die Einstellungen legen die Darstellung der ToolBars nach dem Starten des Fensters fest. Abbildung 21.10 zeigt ein Beispiel. Zur Laufzeit kann der Anwender die Position nach Belieben mittels Drag&Drop verändern.
Abbildung 21.10 »ToolBarTray«
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.