ToolBar
Programs often have buttons that are easy to access. These are stored in ToolBars
. We arrange ToolBars
in a ToolBarTray
. We can add nested controls to our ToolBar
.
A ToolBarTray
is used to contain ToolBars
—so we should add it first. Please drag a ToolBarTray
from the Toolbox to your window Grid
.
Here I add 2 ToolBars
to the ToolBarTray
. In the first ToolBar
, I add 2 Buttons—a ToolBar
can store Buttons and Images and other controls.
ToolBar
element, add a Band
attribute. This is the vertical index, starting at 0, of the ToolBar
.BandIndex
is the horizontal index of the ToolBar
, starting at zero on the left. It goes up when two ToolBars
are on the same line.HorizontalAlignment
ones are not necessary for the program to correctly work.<Window x:Class="WpfApplication11.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <ToolBarTray HorizontalAlignment="Left" Height="74" Margin="10,10,0,0" VerticalAlignment="Top" Width="497"> <ToolBar HorizontalAlignment="Right" Height="27" Band="0" BandIndex="0"> <Button Content="In band 1" Height="22" VerticalAlignment="Top" Width="75"/> <Button Content="Button" Height="22" VerticalAlignment="Top" Width="75"/> </ToolBar> <ToolBar HorizontalAlignment="Left" Height="27" Band="1" BandIndex="0"> <Button Content="In band 2" Height="22" VerticalAlignment="Top" Width="75"/> </ToolBar> </ToolBarTray> </Grid> </Window>
Here, I added a Click event handler to the first Button
in the XAML. Type in Click, press equals and have Visual Studio make a Button_Click
event.
ToolBar
so it is easy to access from the Button_Click
event handler.<ToolBar HorizontalAlignment="Right" Height="27" Band="0" Name="Bar1"> <Button Content="In band 1" Height="22" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
Here we add some code to the contents of Button_Click
. When you run it, this code will help you see how the Band
and BandIndex
properties change as ToolBars
are dragged.
BandIndex
is the horizontal index, while the Band
is the vertical index. This program makes this concept clear.using System.Windows; namespace WpfApplication11 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { // ... Change the title when this button is clicked. this.Title = "Band: " + this.Bar1.Band.ToString() + "; BandIndex: " + this.Bar1.BandIndex.ToString(); } } }
In testing ToolBars
, try dragging the ToolBars
around. You should be able to position them on the same band, next to each other.
Programs can have complex UIs, with lots of buttons. The ToolBar
control, and its companion ToolBarPanel
, makes it simpler to lay out these buttons.