Xamarin.Forms Case

Télécharger l’exemple Télécharger l’exemple

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 :

Capture d’écran d’une case à cocher vide, sur iOS et Android

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 :

Capture d’écran d’une case à cocher cochée, sur iOS et Android

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é :

données Capture d’écran d’un CheckBox lié aux données, sur iOS et Android

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:

Capture d’écran des CheckBox couleur, sur iOS et Android

États visuels CheckBox

CheckBox a un IsCheckedVisualState 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 IsCheckedVisualState spécifie que lorsque le CheckBox est activé, sa Color propriété est définie sur vert. spécifie NormalVisualState 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.