CheckBox
Пользовательский интерфейс мультиплатформенного приложения .NET (.NET MAUI) CheckBox — это тип кнопки, которую можно проверить или пустую. Если флажок установлен, считается, что он включен. Если флажок пуст, он считается отключенным.
CheckBox определяет следующие свойства:
IsChecked
типbool
, который указывает, проверяется ли CheckBox проверка. Это свойство имеет режим привязкиTwoWay
по умолчанию.Color
, тип Color, указывающий цвет CheckBox.
Эти свойства поддерживаются BindableProperty объектами, что означает, что они могут быть стили и быть целевым объектом привязок данных.
CheckBox определяет событие, которое возникает CheckedChanged
при IsChecked
изменении свойства путем манипуляции пользователем или при установке свойства приложением IsChecked
. Объект CheckedChangedEventArgs
, который сопровождает CheckedChanged
событие, имеет одно свойство с именем Value
типа bool
. При возникновении события значение Value
свойства присваивается новому значению IsChecked
свойства.
Создание флажка
В следующем примере показано, как создать экземпляр в CheckBox XAML:
<CheckBox />
Этот XAML приводит к отображению внешнего вида, показанного на следующем снимке экрана:
По умолчанию пустой CheckBox . Можно CheckBox проверить с помощью манипуляций с пользователем или задать IsChecked
для свойства true
значение :
<CheckBox IsChecked="true" />
Этот XAML приводит к отображению внешнего вида, показанного на следующем снимке экрана:
Кроме того, CheckBox можно создать в коде:
CheckBox checkBox = new CheckBox { IsChecked = true };
Реагирование на изменение состояния CheckBox
IsChecked
Когда свойство изменяется либо с помощью пользовательской манипуляции, либо при установке IsChecked
свойства CheckedChanged
приложением событие запускается. Обработчик событий для этого события можно зарегистрировать для реагирования на изменения:
<CheckBox CheckedChanged="OnCheckBoxCheckedChanged" />
Файл программной части содержит обработчик события CheckedChanged
:
void OnCheckBoxCheckedChanged(object sender, CheckedChangedEventArgs e)
{
// Perform required operation after examining e.Value
}
Аргумент sender
отвечает CheckBox за это событие. Это можно использовать для доступа к объекту CheckBox или для различения нескольких CheckBox объектов, использующих один и тот же CheckedChanged
обработчик событий.
Кроме того, обработчик событий для CheckedChanged
события можно зарегистрировать в коде:
CheckBox checkBox = new CheckBox { ... };
checkBox.CheckedChanged += (sender, e) =>
{
// Perform required operation after examining e.Value
};
Привязка данных к checkBox
Обработчик CheckedChanged
событий можно устранить с помощью привязки данных и триггеров для реагирования на CheckBox проверяемое или пустое:
<CheckBox x:Name="checkBox" />
<Label Text="Lorem ipsum dolor sit amet, elit rutrum, enim hendrerit augue vitae praesent sed non, lorem aenean quis praesent pede.">
<Label.Triggers>
<DataTrigger TargetType="Label"
Binding="{Binding Source={x:Reference checkBox}, Path=IsChecked}"
Value="true">
<Setter Property="FontAttributes"
Value="Italic, Bold" />
<Setter Property="FontSize"
Value="18" />
</DataTrigger>
</Label.Triggers>
</Label>
В этом примере Label используется выражение привязки в триггере данных для мониторинга IsChecked
свойства CheckBoxобъекта. Когда это свойство становится true
, FontAttributes
и FontSize
свойства Label изменения. IsChecked
Когда свойство возвращаетсяfalse
, FontAttributes
свойства сбрасываются FontSize
Label в исходное состояние.
На следующем снимку экрана показано Label форматирование при CheckBox проверке:
Дополнительные сведения об триггерах см. в разделе "Триггеры".
Отключение флажка
Иногда приложение вводит состояние, в котором проверяемая CheckBox операция не является допустимой. В таких случаях CheckBox можно отключить, задав свойству IsEnabled
значение false
.
Внешний вид CheckBox
Помимо свойств, наследующих CheckBox от View класса, также определяет Color
свойство, CheckBox которое задает его цвет:Color
<CheckBox Color="Red" />
На следующем снимка экрана показан ряд проверенных CheckBox объектов, где каждый объект имеет его Color
свойство, заданное для разных Color:
Визуальные состояния CheckBox
CheckBoxIsChecked
VisualState имеет значение, которое можно использовать для запуска визуального изменения CheckBox при проверке.
В следующем примере XAML показано, как определить визуальное состояние для IsChecked
состояния:
<CheckBox ...>
<VisualStateManager.VisualStateGroups>
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter Property="Color"
Value="Red" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="IsChecked">
<VisualState.Setters>
<Setter Property="Color"
Value="Green" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</VisualStateManager.VisualStateGroups>
</CheckBox>
В этом примере указывает, IsChecked
VisualState что при CheckBox проверке его Color
свойство будет иметь зеленый цвет. Указывает Normal
VisualState , что при CheckBox обычном состоянии его Color
свойство будет иметь красный цвет. Таким образом, общий эффект заключается в том, что CheckBox красный цвет, когда он пуст, и зеленый при проверке.
Дополнительные сведения о визуальных состояниях см. в разделе "Визуальные состояния".