Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WPF-практика 5 События и команды.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.21 Mб
Скачать

Создание панели инструментов, строки состояния и рабочей области

Панель инструментов содержит кнопки быстрого доступа к командам меню, наиболее часто употребляемые пользователем. Обычно она размещается в верхней части рабочей области окна после меню. Панель инструментов представляет собой как минимум один контейнер для элементов управления, чаще всего кнопок, определенный классом ToolBar. Но она может состоять и из нескольких групп инструментов, где каждая группа пакуется в отдельный контейнер ToolBar. Для управления совместным стандартным поведением нескольких панелей инструментов все они упаковываются в контейнер ToolBarTray.

  • Добавьте в контейнер размещения DockPanel после разметки меню разметку создания панели инструментов

<!-- Панель инструментов -->

<ToolBarTray DockPanel.Dock="Top">

<ToolBar>

<Button Width="23" Content="{StaticResource iconNew}" />

<Button Width="23" Content="{StaticResource iconOpen}" />

<Button Width="23" Content="{StaticResource iconSave}" />

</ToolBar>

<ToolBar>

<Button Width="23" Content="{StaticResource iconUndo}" />

<Button Width="23" Content="{StaticResource iconRedo}" />

<Separator />

<Button Width="23" Content="{StaticResource iconCut}" />

<Button Width="23" Content="{StaticResource iconCopy}" />

<Button Width="23" Content="{StaticResource iconPaste}" />

<Button Width="23" Content="{StaticResource iconDelete}" />

</ToolBar>

<ToolBar Header="Find:">

<TextBox Width="100" />

<Button Width="23" Content="{StaticResource iconFind}" />

</ToolBar>

</ToolBarTray>

В кнопки панели инструментов мы вставляем иконки из ресурсов по тому же самому ключу, который использовали для вставки в пункты меню. То же самое выполним далее и для контекстного меню.

  • Добавьте после разметки панели инструментов разметку создания строки состояния

<!-- Строка состояния -->

<StatusBar DockPanel.Dock="Bottom" Height="32" Name="statusBar">

<Label>Simulator Application is Loading</Label>

<Separator />

<ProgressBar Height="20" Width="100" IsIndeterminate="True" />

</StatusBar>

Контейнер StatusBar строки состояния мы привязали к нижней части окна и наполнили тремя элементами, последний из которых будет имитировать ход процесса загрузки приложения за счет свойства IsIndeterminate="True".

  • Добавьте после разметки строки состояния многострочное текстовое поле редактирования TextBox, который будет представлять рабочую область окна приложения и занимать все свободное пространство, поскольку в открывающем дескрипторе панели размещения мы указали для последнего элемента соответствующий параметр <DockPanel LastChildFill="True">

<!-- Многострочное текстовое поле редактирования -->

<TextBox TextWrapping="Wrap"

AcceptsReturn="True"

AcceptsTab="True"

VerticalScrollBarVisibility="Auto"

>

</TextBox>

Параметр TextWrapping="Wrap" переносит строку, если она не помещается по ширине в текстовое поле. AcceptsReturn="True" включает действие клавиши для переноса строк (accept - принимать, признавать). AcceptsTab="True" включает действие клавиши табуляции в текстовом поле. VerticalScrollBarVisibility="Auto" включает автоматическое появление линейки скролирования, когда текст выходит за пределы области редактирования по высоте.