Trigger Classe

Définition

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type Trigger = class
    inherit TriggerBase
    interface IValueProvider
Héritage
Attributs
Implémente

Remarques

La Trigger classe convient pour vérifier les valeurs de n’importe quelle propriété sur le contrôle auquel elle a été ajoutée. Autrement dit, son contexte de liaison par défaut est le contrôle auquel il a été ajouté. Pour établir une liaison sur des contrôles autres que le parent, les développeurs doivent utiliser la classe à la DataTrigger place.

L’exemple XML ci-dessous invite l’utilisateur à taper le secret, qui est « La couleur du texte est rouge ». Une fois que l’utilisateur a tapé le secret, le texte de l’entrée change de couleur en rouge. Le code est retourné à la couleur par défaut si l’utilisateur modifie ensuite le texte pour qu’il diffère du secret. Cet exemple montre comment établir une liaison au contrôle englobant à l’aide d’un déclencheur.


<?xml version="1.0" encoding="utf-8"?>
<ContentPage    xmlns="http://xamarin.com/schemas/2014/forms"
                xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                xmlns:local="clr-namespace:TriggerDemo"
                x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Tell me the secret"
               VerticalOptions="Center"
               HorizontalOptions="Center" />
<Entry Placeholder="Type the secret here."
               VerticalOptions="Center"
               HorizontalOptions="Center">
<Entry.Triggers>
<Trigger TargetType="Entry"
                    Property="Text"
                    Value="The text color is red">
<Setter Property="TextColor" Value="Red" />
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

L’exemple ci-dessous montre comment les développeurs peuvent utiliser un déclencheur pour répondre aux événements et mettre à jour la valeur d’une propriété de contrôle à l’aide TriggerAction<T> de classes. L’exemple invite l’utilisateur à répondre à une question sur la couleur du texte, puis appelle ColorTriggerAction à tourner le texte en rouge lorsque l’utilisateur tape « La couleur du texte est rouge ». Les développeurs doivent noter que, bien que cet exemple ne remplace pas le texte par la couleur par défaut lorsque l’utilisateur continue à modifier la chaîne, le développeur peut également implémenter et spécifier une action de sortie pour obtenir ce résultat.

Avec la classe ColorTriggerAction ci-dessous définie dans l’espace de TriggerDemo noms :

public class ColorTriggerAction : TriggerAction<Entry>
{
    protected override void Invoke(Entry sender)
    {
        sender.TextColor = Color.Red;
    }
}

le développeur peut utiliser le code XAML ci-dessous pour créer la page qui répond à la chaîne secrète en modifiant la couleur de la Entry zone de texte en rouge.

<?xml version="1.0" encoding="utf-8"?>
<ContentPage    xmlns="http://xamarin.com/schemas/2014/forms"
                xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                xmlns:local="clr-namespace:TriggerDemo"
                x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="What color is &quot;The text&quot;?"
               VerticalOptions="Center"
               HorizontalOptions="Center" />
<Entry Placeholder="Type answer here."
               VerticalOptions="Center"
               HorizontalOptions="Center"
               BackgroundColor="White">
<Entry.Triggers>
<Trigger TargetType="Entry"
                         Property="Text"
                         Value="The text is red" >
<Trigger.EnterActions>
<local:ColorTriggerAction />
</Trigger.EnterActions>
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

Constructeurs

Trigger(Type)

Initialise une nouvelle instance de Trigger.

Propriétés

BindingContext

Obtient ou définit l’objet qui contient les propriétés qui seront ciblées par les propriétés liées appartenant à ce BindableObject.

(Hérité de BindableObject)
Dispatcher

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

(Hérité de BindableObject)
EnterActions

Obtient la liste des objets TriggerAction à appeler quand la condition de déclenchement est remplie. Ignoré pour la classe EventTrigger.

(Hérité de TriggerBase)
ExitActions

Obtient la liste des objets TriggerAction à appeler quand la condition de déclenchement n’est plus remplie. Ignoré pour la classe EventTrigger.

(Hérité de TriggerBase)
IsSealed

Obtient une valeur qui indique si le déclencheur est sealed ou non.

(Hérité de TriggerBase)
Property

Obtient ou définit la propriété dont la valeur est comparée à Value pour déterminer quand appeler les setters.

Setters

Obtient la liste d’objets Setter à appliquer quand la propriété nommée par Property devient égale à Value.

TargetType

Type d’objet auquel cet objet TriggerBase peut être attaché.

(Hérité de TriggerBase)
Value

Obtient ou définit la valeur de la propriété, nommée par la propriété Property, qui entraîne l’application des setters.

Méthodes

ApplyBindings()

Applique les liaisons à BindingContext.

(Hérité de BindableObject)
ClearValue(BindableProperty)

Efface toute valeur définie par SetValue pour property.

(Hérité de BindableObject)
ClearValue(BindablePropertyKey)

Efface toute valeur définie par SetValue pour la propriété qui est identifiée par propertyKey.

(Hérité de BindableObject)
CoerceValue(BindableProperty)

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

(Hérité de BindableObject)
CoerceValue(BindablePropertyKey)

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

(Hérité de BindableObject)
GetValue(BindableProperty)

Retourne la valeur qui est contenue dans BindableProperty.

(Hérité de BindableObject)
GetValues(BindableProperty, BindableProperty)
Obsolète.

Pour un usage interne par la plateforme Xamarin.Forms.

(Hérité de BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Obsolète.

Pour un usage interne par la plateforme Xamarin.Forms.

(Hérité de BindableObject)
IsSet(BindableProperty)

Retourne true si la propriété cible existe et qu’elle a été configurée.

(Hérité de BindableObject)
OnBindingContextChanged()

Substituez cette méthode pour exécuter une action lorsque le BindingContext change.

(Hérité de BindableObject)
OnPropertyChanged(String)

Appelez cette méthode à partir d’une classe enfant pour avertir qu’un changement s’est produit au niveau d’une propriété.

(Hérité de BindableObject)
OnPropertyChanging(String)

Appelez cette méthode à partir d’une classe enfant pour avertir qu’un changement va se produire au niveau d’une propriété.

(Hérité de BindableObject)
RemoveBinding(BindableProperty)

Supprime une liaison précédemment définie.

(Hérité de BindableObject)
SetBinding(BindableProperty, BindingBase)

Affecte une liaison à une propriété.

(Hérité de BindableObject)
SetValue(BindableProperty, Object)

Définit la valeur de la propriété spécifiée.

(Hérité de BindableObject)
SetValue(BindablePropertyKey, Object)

Définit la valeur de propertyKey.

(Hérité de BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Pour un usage interne par la plateforme Xamarin.Forms.

(Hérité de BindableObject)
UnapplyBindings()

Supprime toutes les liaisons précédemment définies.

(Hérité de BindableObject)

Événements

BindingContextChanged

Déclenché chaque fois que la propriété BindingContext est modifiée.

(Hérité de BindableObject)
PropertyChanged

Déclenché lorsqu’une propriété a été modifiée.

(Hérité de BindableObject)
PropertyChanging

Déclenché lorsqu’une propriété est sur le point d’être modifiée.

(Hérité de BindableObject)

Implémentations d’interfaces explicites

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Pour un usage interne par la plateforme Xamarin.Forms.

(Hérité de BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Pour un usage interne par la plateforme Xamarin.Forms.

Méthodes d’extension

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Crée et applique une liaison à une propriété.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Obsolète.

Crée et applique une liaison à partir d’une expression.

SetOnAppTheme<T>(BindableObject, BindableProperty, T, T)

Classe qui représente une condition de propriété et une action qui est effectuée quand la condition est remplie.

S’applique à

Voir aussi