Xamarin.Forms Case
est Xamarin.FormsCheckBox
un type de bouton qui peut être activé ou vide. Lorsqu’une case est cochée, elle est considérée comme activée. Lorsqu’une case à cocher est vide, elle est considérée comme désactivée.
CheckBox
définit une bool
propriété nommée IsChecked
, qui indique si le CheckBox
est vérifié. Cette propriété est également soutenue par un BindableProperty
objet, ce qui signifie qu’elle peut être stylée et être la cible de liaisons de données.
Notes
La IsChecked
propriété pouvant être liée a un mode de liaison par défaut de BindingMode.TwoWay
.
CheckBox
définit un CheckedChanged
événement déclenché lorsque la IsChecked
propriété change, soit par manipulation de l’utilisateur, soit lorsqu’une application définit la IsChecked
propriété. L’objet CheckedChangedEventArgs
qui accompagne l’événement CheckedChanged
a une propriété unique nommée Value
, de type bool
. Lorsque l’événement est déclenché, la valeur de la Value
propriété est définie sur la nouvelle valeur de la IsChecked
propriété.
Créer un CheckBox
L’exemple suivant montre comment instancier un CheckBox
dans XAML :
<CheckBox />
Ce CODE XAML donne l’apparence illustrée dans les captures d’écran suivantes :
Par défaut, est CheckBox
vide. CheckBox
Peut être vérifié par manipulation de l’utilisateur ou en définissant la IsChecked
propriété sur true
:
<CheckBox IsChecked="true" />
Ce CODE XAML donne l’apparence illustrée dans les captures d’écran suivantes :
Vous pouvez également créer un CheckBox
dans le code :
CheckBox checkBox = new CheckBox { IsChecked = true };
Répondre à une modification d’état CheckBox
Lorsque la IsChecked
propriété change, soit par manipulation de l’utilisateur, soit lorsqu’une application définit la IsChecked
propriété, l’événement CheckedChanged
se déclenche. Un gestionnaire d’événements pour cet événement peut être inscrit pour répondre à la modification :
<CheckBox CheckedChanged="OnCheckBoxCheckedChanged" />
Le fichier code-behind contient le gestionnaire de l’événement CheckedChanged
:
void OnCheckBoxCheckedChanged(object sender, CheckedChangedEventArgs e)
{
// Perform required operation after examining e.Value
}
L’argument sender
est responsable CheckBox
de cet événement. Vous pouvez l’utiliser pour accéder à l’objet ou pour faire la CheckBox
distinction entre plusieurs CheckBox
objets partageant le même CheckedChanged
gestionnaire d’événements.
Vous pouvez également inscrire un gestionnaire d’événements pour l’événement CheckedChanged
dans le code :
CheckBox checkBox = new CheckBox { ... };
checkBox.CheckedChanged += (sender, e) =>
{
// Perform required operation after examining e.Value
};
Liaison de données avec checkBox
Le CheckedChanged
gestionnaire d’événements peut être éliminé à l’aide de liaisons de données et de déclencheurs pour répondre à une vérification ou à un CheckBox
vide :
<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>
Dans cet exemple, le Label
utilise une expression de liaison dans un déclencheur de données pour surveiller la IsChecked
propriété du CheckBox
. Lorsque cette propriété devient true
, les FontAttributes
propriétés et FontSize
de la Label
modification. Lorsque la IsChecked
propriété retourne à false
, les FontAttributes
propriétés et FontSize
de sont Label
réinitialisées à leur état initial.
Dans les captures d’écran suivantes, la capture d’écran iOS montre la Label
mise en forme lorsque CheckBox
le est vide, tandis que la capture d’écran Android montre la Label
mise en forme lorsque le CheckBox
est activé :
Pour plus d’informations sur les déclencheurs, consultez Xamarin.Forms Déclencheurs.
Désactiver une case à cocher
Parfois, une application entre dans un état où une CheckBox
vérification n’est pas une opération valide. Dans ce cas, CheckBox
le peut être désactivé en définissant sa IsEnabled
propriété sur false
.
Apparence de CheckBox
En plus des propriétés qui CheckBox
héritent de la View
classe, CheckBox
définit également une Color
propriété qui définit sa couleur sur un Color
:
<CheckBox Color="Red" />
Les captures d’écran suivantes montrent une série d’objets vérifiés CheckBox
, où chaque objet a sa Color
propriété définie sur une valeur différente Color
:
États visuels CheckBox
CheckBox
a un IsChecked
VisualState
qui peut être utilisé pour initier une modification visuelle du CheckBox
lorsqu’il est vérifié.
L’exemple XAML suivant montre comment définir un état visuel pour l’état 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>
Dans cet exemple, le IsChecked
VisualState
spécifie que lorsque le CheckBox
est activé, sa Color
propriété est définie sur vert. spécifie Normal
VisualState
que lorsque le CheckBox
est dans un état normal, sa Color
propriété est définie sur rouge. Par conséquent, l’effet global est que le CheckBox
est rouge lorsqu’il est vide et vert lorsqu’il est vérifié.
Pour plus d’informations sur les états visuels, consultez Xamarin.Forms Visual State Manager.