Поделиться через


Общие сведения о панели инструментов

Элементы управления ToolBar являются контейнерами для группы команд или элементов управления, которые обычно функционально связаны. ToolBar обычно содержит кнопки, вызывающие команды.

Элемент управления ToolBar

Элемент управления ToolBar называется панелью инструментов потому, что его кнопки или другие элементы управления расположены в похожем на панель ряду или столбце. В WPF элементы управления ToolBar обеспечивают механизм переполнения, помещающий все элементы, которые естественным образом не могут разместиться в пределах элемента управления ToolBar ограниченного размера, в специальную область переполнения. Кроме того, в WPF элементы управления ToolBar обычно используются вместе со связанным элементом управления ToolBarTray, который обеспечивает особый механизм размещения, а также поддерживает инициируемые пользователем изменение размера и упорядочивание панелей инструментов.

Задание положения элементов управления ToolBar в элементе управления 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 с элементами переполнения:

Screenshot that shows a toolbar with overflow items.

Можно указать, когда элемент панели инструментов помещается на панель переполнения, задав для присоединенного свойства 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 использует панели ToolBarPanel и ToolBarOverflowPanel в своем шаблоне ControlTemplate. ToolBarPanel отвечает за порядок размещения элементов на панели инструментов. ToolBarOverflowPanel отвечает за порядок размещения элементов, не уместившихся в ToolBar. Пример ControlTemplate для ToolBar см. в разделе

Стили и шаблоны элемента ToolBar.

См. также