ToolBar 概述

更新:2007 年 11 月

ToolBar 控件是一组通常在功能上相关的命令或控件的容器。ToolBar 通常包含用于调用命令的按钮。

本主题包括下列各节。

  • ToolBar 控件
  • 在 ToolBarTray 中指定工具栏的位置
  • 具有溢出项的工具栏
  • 相关主题

ToolBar 控件

ToolBar 控件因其按钮或其他控件像条形栏一样排列成一行或一列而得名。WPFToolBar 控件提供一种溢出机制,将不能自然适合于有大小限制的 ToolBar 的任意项放入一个特殊的溢出区域。另外,WPFToolBar 控件通常还与相关的 ToolBarTray 控件一起使用,后者提供特殊的布局行为,并支持用户启动的工具栏大小调整和排列。

在 ToolBarTray 中指定工具栏的位置

使用 BandBandIndex 属性可以在 ToolBarTray 中定位 ToolBarBand 指示 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.AlwaysOverflowMode.NeverOverflowMode.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 中使用 ToolBarPanelToolBarOverflowPanelToolBarPanel 负责工具栏上的项的布局。 ToolBarOverflowPanel 负责 ToolBar 上容不下的项的布局。有关 ToolBarControlTemplate 的示例,请参见

ToolBar ControlTemplate 示例.

请参见

任务

如何:设置 ToolBar 上的控件的样式

WPF 控件库示例

参考

ToolBarPanel

ToolBarOverflowPanel