Partager via


Xamarin.Forms Case

Il Xamarin.FormsCheckBox s’agit d’un type de bouton qui peut être case activée ou vide. Lorsqu’un case activée box est case activée ed, il est considéré comme activé. Lorsqu’un case activée box est vide, il est considéré comme désactivé.

CheckBoxdéfinit une bool propriété nommée IsChecked, qui indique si l’objet CheckBox est case activée ed. Cette propriété est également sauvegardée par un BindableProperty objet, ce qui signifie qu’elle peut être styletée et être la cible de liaisons de données.

Remarque

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 propriété change, via la IsChecked manipulation de l’utilisateur ou 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 instanciation en XAML :

<CheckBox />

Ce code XAML entraîne l’apparence affichée dans les captures d’écran suivantes :

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

Par défaut, la valeur CheckBox est vide. Il CheckBox peut être case activée par manipulation de l’utilisateur ou en définissant la IsChecked propriété sur true:

<CheckBox IsChecked="true" />

Ce code XAML entraîne l’apparence affichée dans les captures d’écran suivantes :

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

Vous pouvez également créer un CheckBox code :

CheckBox checkBox = new CheckBox { IsChecked = true };

Répondre à un état de modification de CheckBox

Lorsque la IsChecked propriété change, soit via la 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 le CheckBox responsable 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 dans le CheckedChanged code :

CheckBox checkBox = new CheckBox { ... };
checkBox.CheckedChanged += (sender, e) =>
{
    // Perform required operation after examining e.Value
};

Liaison de données d’un CheckBox

Le CheckedChanged gestionnaire d’événements peut être éliminé à l’aide de la liaison de données et des déclencheurs pour répondre à un CheckBox être case activée ou 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, l’utilisation Label d’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 les propriétés de la Label modification. Lorsque la IsChecked propriété est retournée false, les FontAttributes propriétés et FontSize les propriétés de l’objet Label sont réinitialisées à leur état initial.

Dans les captures d’écran suivantes, la capture d’écran iOS montre la Label mise en forme lorsque celle-ci CheckBox est vide, tandis que la capture d’écran Android affiche la Label mise en forme lorsque l’objet CheckBox est case activée ed :

Capture d’écran d’une CheckBox liée 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 case activée n’est pas une opération valide. Dans ce cas, le CheckBox paramètre peut être désactivé en définissant sa IsEnabled propriété sur false.

Apparence de CheckBox

Outre les 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 case activée, CheckBox où chaque objet a sa Color propriété définie sur une valeur différente Color:

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

États visuels de CheckBox

CheckBoxa un IsCheckedVisualState élément qui peut être utilisé pour initier une modification visuelle au CheckBox moment où elle devient case activée ed.

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, les IsCheckedVisualState spécifies que lorsque l’objet CheckBox est case activée ed, sa Color propriété est définie sur verte. Spécifie NormalVisualState que lorsque l’état CheckBox est normal, sa Color propriété est définie sur rouge. Par conséquent, l’effet global est que le CheckBox rouge lorsqu’il est vide, et vert lorsqu’il est case activée ed.

Pour plus d’informations sur les états visuels, consultez Xamarin.Forms Visual State Manager.