ToolBar 控件是一组命令或控件的容器,这些命令或控件通常与其函数相关。 通常 ToolBar 包含调用命令的按钮。
ToolBar 控件
该 ToolBar 控件从按钮或其他控件的条形排列中获取其名称,并将其放入单行或列。 WPF ToolBar 控件提供了溢出机制,该机制用于将由于大小限制而无法自然适应 ToolBar 的项目放入特殊的溢出区域。 此外,WPF ToolBar 控件通常与相关 ToolBarTray 控件一起使用,该控件提供特殊的布局行为,以及对用户启动的大小调整和排列工具栏的支持。
指定 ToolBarTray 中工具栏的位置
使用Band和BandIndex属性在ToolBar中定位ToolBarTray。 Band指示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.Always或OverflowMode.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 上的项目的布局。 有关 ControlTemplate 的 ToolBar 示例,请参阅