ToolBar 概述

ToolBar 控件是一组命令或控件的容器,这些命令或控件通常与其函数相关。 通常 ToolBar 包含调用命令的按钮。

ToolBar 控件

ToolBar 控件从按钮或其他控件的条形排列中获取其名称,并将其放入单行或列。 WPF ToolBar 控件提供了溢出机制,该机制用于将由于大小限制而无法自然适应 ToolBar 的项目放入特殊的溢出区域。 此外,WPF ToolBar 控件通常与相关 ToolBarTray 控件一起使用,该控件提供特殊的布局行为,以及对用户启动的大小调整和排列工具栏的支持。

指定 ToolBarTray 中工具栏的位置

使用BandBandIndex属性在ToolBar中定位ToolBarTrayBand指示ToolBar在其父ToolBarTray级中放置的位置。 BandIndex 指示 ToolBar 在其带中放置的顺序。 以下示例演示如何使用此属性将 ToolBar 控件置于 ToolBarTray 内。

<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.OverflowModeOverflowMode.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 使用 a ToolBarPanel 和 a ToolBarOverflowPanel 在其 ControlTemplate中。 ToolBarPanel 负责工具栏上项目的布局。 ToolBarOverflowPanel 负责不适合放在 ToolBar 上的项目的布局。 有关 ControlTemplateToolBar 示例,请参阅

工具栏样式和模板

另请参阅