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é.
CheckBox
dé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 :
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 :
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 :
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
:
États visuels de CheckBox
CheckBox
a un IsChecked
VisualState
é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 IsChecked
VisualState
spécifies que lorsque l’objet CheckBox
est case activée ed, sa Color
propriété est définie sur verte. Spécifie Normal
VisualState
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.