Xamarin.Forms Флажок
Это Xamarin.FormsCheckBox
тип кнопки, которая может быть проверка или пуста. Если проверка box проверка, считается, что он включен. Если проверка box пуст, он считается отключенным.
CheckBox
bool
определяет свойство с именемIsChecked
, указывающее, проверка ли CheckBox
он проверка. Это свойство также поддерживается BindableProperty
объектом, что означает, что он может быть стилем и быть целевым объектом привязок данных.
Примечание.
Привязываемое IsChecked
свойство имеет режим BindingMode.TwoWay
привязки по умолчанию.
CheckBox
определяет событие, которое возникает CheckedChanged
при изменении свойства либо с IsChecked
помощью манипуляции пользователем, либо при установке свойства приложением IsChecked
. Объект CheckedChangedEventArgs
, который сопровождает CheckedChanged
событие, имеет одно свойство с именем Value
типа bool
. При срабатывании события значение Value
свойства присваивается новому значению IsChecked
свойства.
Создание флажка
В следующем примере показано, как создать экземпляр в CheckBox
XAML:
<CheckBox />
Этот КОД XAML приводит к отображению внешнего вида, показанного на следующих снимках экрана:
По умолчанию пустой CheckBox
. Его CheckBox
можно проверка путем манипуляции с пользователем или путем задания свойства true
следующим IsChecked
образом:
<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="Large" />
</DataTrigger>
</Label.Triggers>
</Label>
В этом примере Label
используется выражение привязки в триггере данных для мониторинга IsChecked
свойства CheckBox
объекта. Когда это свойство становится true
, FontAttributes
и FontSize
свойства Label
изменения. IsChecked
Когда свойство возвращаетсяfalse
, FontAttributes
свойства сбрасываются FontSize
Label
в исходное состояние.
На следующих снимках экрана на снимке экрана iOS показано Label
форматирование при CheckBox
пустом режиме, а на снимке экрана Android отображается Label
форматирование при CheckBox
проверка.
Дополнительные сведения об триггерах см. в разделе Xamarin.Forms "Триггеры".
Отключение флажка
Иногда приложение входит в состояние, в котором CheckBox
проверка ed не является допустимой операцией. В таких случаях CheckBox
можно отключить, задав свойству IsEnabled
значение false
.
Внешний вид CheckBox
Помимо свойств, наследующих CheckBox
от View
класса, также определяет Color
свойство, CheckBox
которое задает его цвет:Color
<CheckBox Color="Red" />
На следующих снимках экрана показан ряд проверка проверка CheckBox
объектов, где каждый объект имеет его свойство, заданное для Color
другогоColor
:
Визуальные состояния CheckBox
CheckBox
имеет значениеIsChecked
VisualState
, которое можно использовать для инициирования визуального изменения, CheckBox
когда оно становится проверка.
В следующем примере XAML показано, как определить визуальное состояние для IsChecked
состояния:
<CheckBox ...>
<VisualStateManager.VisualStateGroups>
<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>
</VisualStateManager.VisualStateGroups>
</CheckBox>
В этом примере указывается, IsChecked
VisualState
что при CheckBox
проверка его Color
свойству будет присвоен зеленый цвет. Указывает Normal
VisualState
, что при CheckBox
обычном состоянии его Color
свойство будет иметь красный цвет. Таким образом, общий эффект заключается в том, что CheckBox
красный, когда он пуст, и зеленый, когда он проверка.
Дополнительные сведения о визуальных состояниях см. в статье Диспетчер визуального представления состояний Xamarin.Forms.