Кнопки

Button выполняет действие, когда игрок щёлкает или касается её либо активирует её с клавиатуры или геймпада. ToggleButton и CheckBox к тому же хранят состояние «вкл./выкл.»: кнопка-переключатель подходит для режима, который игрок переключает (музыка вкл. или выкл.), а флажок — для пункта в списке настроек.
Разметка
<!-- Button runs a command; ToggleButton and CheckBox keep an on/off state in IsChecked. -->
<StackPanel Orientation="Vertical">
<Button Margin="0,0,0,8" Command="{Binding PlayCommand}">Play</Button>
<ToggleButton Margin="0,0,0,8" IsChecked="True">Music</ToggleButton>
<CheckBox IsChecked="True">Subtitles</CheckBox>
</StackPanel>
Текст внутри кнопки становится её содержимым: строка показывается в TextBlock. Содержимым может
быть и любой элемент, например значок с подписью в StackPanel.
Основные свойства
| Свойство | Описание |
|---|---|
| Command | Команда, которую выполняет кнопка. Привяжите её к команде модели представления. |
| Content | Что показывает кнопка: текст или любой элемент. |
| IsChecked | Включена ли кнопка-переключатель или флажок. |
| CheckBrush | Цвет галочки флажка. |
События и команды
При активации кнопка вызывает событие Click и выполняет свою Command. Кнопка-переключатель и флажок переключают IsChecked и вызывают IsCheckedChanged.
Стиль
В теме по умолчанию кнопки тёмно-серые со светлым текстом; они принимают размер содержимого и располагаются по центру
отведённого им места. Задайте кнопке HorizontalAlignment="Stretch" (или VerticalAlignment), чтобы она заполнила своё
место, например в колонке меню.
Стили темы используют такие группы визуальных состояний. Ваша группа с тем же именем заменяет группу темы (см. Шаблоны и визуальные состояния):
| Элемент | CommonStates |
FocusStates |
CheckStates |
|---|---|---|---|
Button |
Hovered, Pressed |
Focused |
|
ToggleButton |
Hovered, Pressed |
Focused |
Checked |
CheckBox |
Hovered |
Focused |
Checked |
См. раздел Ресурсы и стили справочника по разметке.
Клавиатура, геймпад и сенсорный ввод
Кнопка в фокусе выполняет свою команду по Enter или кнопке A геймпада; кнопка-переключатель или флажок переключают состояние. Стрелки и крестовина геймпада перемещают фокус между элементами. Касание выполняет команду, как щелчок.
ToggleButton
Выглядит как кнопка и остаётся подсвеченной, пока включена (состояние Checked).
CheckBox
Квадрат с галочкой рядом с содержимым. Используйте его в списках настроек, а кнопку-переключатель — для режима на панели инструментов или в HUD.