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.

public ref class Trigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type Trigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class Trigger
Inherits TriggerBase
Implements 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 un objet qui contient les propriétés qui seront ciblées par les propriétés liées qui appartiennent à ce BindableObject. Il s’agit d’une propriété pouvant être liée.

(Hérité de BindableObject)
Dispatcher

Obtient le répartiteur qui était disponible lors de la création de cet objet pouvant être lié, sinon, tente de trouver le répartiteur disponible le plus proche (probablement celui de la fenêtre/de l’application).

(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 toutes les liaisons actuelles à BindingContext.

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

Efface toute valeur précédemment définie pour une propriété pouvant être liée.

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

Efface toute valeur précédemment définie pour une propriété pouvant être liée, identifiée par sa clé.

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

Force la valeur de la propriété pouvant être liée spécifiée. Pour ce faire, appelez BindableProperty.CoerceValueDelegate la propriété pouvant être liée spécifiée.

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

Force la valeur de la propriété pouvant être liée spécifiée. Pour ce faire, appelez BindableProperty.CoerceValueDelegate la propriété pouvant être liée spécifiée.

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

Retourne la valeur contenue dans la propriété pouvant être liée donnée.

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

Détermine s’il existe ou non une propriété pouvant être liée et a une valeur définie.

(Hérité de BindableObject)
OnBindingContextChanged()

Déclenche l’événement BindingContextChanged.

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

Déclenche l’événement PropertyChanged.

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

Déclenche l’événement PropertyChanging.

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

Supprime une liaison précédemment définie d’une propriété pouvant être liée.

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

Affecte une liaison à une propriété pouvant être liée.

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

Définit la valeur de la propriété pouvant être liée spécifiée.

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

Définit la valeur de la propriété pouvant être liée spécifiée.

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

Pour une utilisation interne par la plateforme Microsoft.Maui.Controls.

(Hérité de BindableObject)
UnapplyBindings()

Supprime toutes les liaisons actuelles du contexte actuel.

(Hérité de BindableObject)

Événements

BindingContextChanged

Se produit quand la valeur de la propriété BindingContext change.

(Hérité de BindableObject)
PropertyChanged

Se produit en cas de modification d'une valeur de propriété.

(Hérité de BindableObject)
PropertyChanging

Se produit lorsqu'une valeur de propriété change.

(Hérité de BindableObject)

Implémentations d’interfaces explicites

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

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)
IValueProvider.ProvideValue(IServiceProvider)

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

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.

SetAppTheme<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.

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

S’applique à

Voir aussi