更新:2007 年 11 月
ToolBar 控件是一组通常在功能上相关的命令或控件的容器。ToolBar 通常包含用于调用命令的按钮。
本主题包括下列各节。
- ToolBar 控件
- 在 ToolBarTray 中指定工具栏的位置
- 具有溢出项的工具栏
- 相关主题
ToolBar 控件
ToolBar 控件因其按钮或其他控件像条形栏一样排列成一行或一列而得名。WPFToolBar 控件提供一种溢出机制,将不能自然适合于有大小限制的 ToolBar 的任意项放入一个特殊的溢出区域。另外,WPFToolBar 控件通常还与相关的 ToolBarTray 控件一起使用,后者提供特殊的布局行为,并支持用户启动的工具栏大小调整和排列。
在 ToolBarTray 中指定工具栏的位置
使用 Band 和 BandIndex 属性可以在 ToolBarTray 中定位 ToolBar。Band 指示 ToolBar 在其父 ToolBarTray 中的位置。BandIndex 指示 ToolBar 放入其 Band 中的顺序。下面的示例演示如何使用此属性在 ToolBarTray 内放置 ToolBar 控件。
<ToolBarTray Background="White">
<ToolBar Band="1" BandIndex="1">
<Button>
<Image Source="toolbargraphics\cut.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\copy.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\paste.bmp" />
</Button>
</ToolBar>
<ToolBar Band="2" BandIndex="1">
<Button>
<Image Source="toolbargraphics\undo.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\redo.bmp" />
</Button>
</ToolBar>
<ToolBar Band="2" BandIndex="2">
<Button>
<Image Source="toolbargraphics\paint.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\spell.bmp" />
</Button>
<Separator/>
<Button>
<Image Source="toolbargraphics\save.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\open.bmp" />
</Button>
</ToolBar>
</ToolBarTray>
具有溢出项的工具栏
通常,ToolBar 控件包含的项多于工具栏大小可以容纳的项数。出现此情况时,ToolBar 会显示一个溢出按钮。要查看溢出项,用户可以单击溢出按钮,这些项即会显示在 ToolBar 下方的弹出窗口中。下图显示了一个带溢出项的 ToolBar。
具有溢出项的工具栏
通过将 ToolBar.OverflowMode 附加属性设置为 OverflowMode.Always、OverflowMode.Never 或 OverflowMode.AsNeeded,您可以指定工具栏上的项何时会放置在溢出面板上。下面的示例指定工具栏上的最后四个按钮应总是显示在溢出面板上。
<ToolBarTray Background="White">
<ToolBar Band="1" BandIndex="1">
<Button>
<Image Source="toolbargraphics\cut.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\copy.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\paste.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\undo.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\redo.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\paint.bmp" />
</Button>
<Button>
<Image Source="toolbargraphics\spell.bmp" />
</Button>
<Separator/>
<Button ToolBar.OverflowMode="Always">
<Image Source="toolbargraphics\save.bmp" />
</Button>
<Button ToolBar.OverflowMode="Always">
<Image Source="toolbargraphics\open.bmp" />
</Button>
<Button ToolBar.OverflowMode="Always">
<Image Source="toolbargraphics\print.bmp" />
</Button>
<Button ToolBar.OverflowMode="Always">
<Image Source="toolbargraphics\preview.bmp" />
</Button>
</ToolBar>
</ToolBarTray>
ToolBar 在其 ControlTemplate 中使用 ToolBarPanel 和 ToolBarOverflowPanel。 ToolBarPanel 负责工具栏上的项的布局。 ToolBarOverflowPanel 负责 ToolBar 上容不下的项的布局。有关 ToolBar 的 ControlTemplate 的示例,请参见