Trigger Classe

Definizione

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

[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
Ereditarietà
System.Object
Trigger
Attributi
Implementazioni

Commenti

La Trigger classe è adatta per controllare i valori di qualsiasi proprietà nel controllo a cui è stato aggiunto. Ovvero, il contesto di associazione predefinito è il controllo a cui è stato aggiunto. Per eseguire l'associazione su controlli diversi dall'elemento padre, gli sviluppatori devono usare invece la DataTrigger classe .

L'esempio XML seguente richiede all'utente di digitare il segreto, ovvero "Il colore del testo è rosso". Quando l'utente ha digitato il segreto, il testo di immissione cambia colore in rosso. Il codice viene restituito al colore predefinito se l'utente modifica il testo in modo che differisca dal segreto. In questo esempio viene illustrato come eseguire l'associazione al controllo contenitore con un trigger.


<?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'esempio seguente illustra come gli sviluppatori possono usare un trigger per rispondere agli eventi e aggiornare il valore di una proprietà del controllo usando TriggerAction<T> le classi. Nell'esempio viene chiesto all'utente di rispondere a una domanda sul colore del testo e quindi chiama ColorTriggerAction per attivare il testo rosso quando l'utente digita "Il colore del testo è rosso". Gli sviluppatori devono notare che, anche se questo esempio non modifica il testo al colore predefinito quando l'utente continua a modificare la stringa, lo sviluppatore potrebbe anche implementare e specificare un'azione di uscita per ottenere tale risultato.

Con la classe ColorTriggerAction seguente definita nello spazio dei TriggerDemo nomi :

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

lo sviluppatore può usare il codice XAML seguente per creare la pagina che risponde alla stringa privata modificando il colore dell'area Entry di testo in rosso.

<?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>

Costruttori

Trigger(Type)

Inizializza una nuova istanza di Trigger.

Proprietà

BindingContext

Ottiene o imposta l'oggetto contenente le proprietà che saranno interessate dalle proprietà associate appartenenti a questo elemento BindableObject.

(Ereditato da BindableObject)
Dispatcher

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

(Ereditato da BindableObject)
EnterActions

Ottiene l'elenco di oggetti TriggerAction che vengono richiamati quando si verifica la condizione di attivazione. Ignorato per la classe EventTrigger.

(Ereditato da TriggerBase)
ExitActions

Ottiene l'elenco di oggetti TriggerAction che vengono richiamati quando non si verifica più la condizione di attivazione. Ignorato per la classe EventTrigger.

(Ereditato da TriggerBase)
IsSealed

Ottiene un valore che indica se il trigger è Sealed.

(Ereditato da TriggerBase)
Property

Ottiene o imposta la proprietà il cui valore verrà confrontato con Value per determinare quando richiamare i setter.

Setters

Ottiene l'elenco di oggetti Setter che verranno applicati quando la proprietà denominata da Property diventa uguale a Value.

TargetType

Il tipo di oggetto a cui questo oggetto TriggerBase può essere associato.

(Ereditato da TriggerBase)
Value

Ottiene o imposta il valore della proprietà denominata dalla proprietà Property, che determina l'applicazione dei setter.

Metodi

ApplyBindings()

Applica le associazioni a BindingContext.

(Ereditato da BindableObject)
ClearValue(BindableProperty)

Cancella qualsiasi valore impostato da SetValue per property.

(Ereditato da BindableObject)
ClearValue(BindablePropertyKey)

Cancella qualsiasi valore impostato dalla proprietà SetValue identificato da propertyKey.

(Ereditato da BindableObject)
CoerceValue(BindableProperty)

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

(Ereditato da BindableObject)
CoerceValue(BindablePropertyKey)

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

(Ereditato da BindableObject)
GetValue(BindableProperty)

Restituisce il valore contenuto in BindableProperty.

(Ereditato da BindableObject)
GetValues(BindableProperty, BindableProperty)
Obsoleti.

Per uso interno della piattaforma Xamarin.Forms.

(Ereditato da BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Obsoleti.

Per uso interno della piattaforma Xamarin.Forms.

(Ereditato da BindableObject)
IsSet(BindableProperty)

Restituisce true se la proprietà di destinazione esiste ed è stata impostata.

(Ereditato da BindableObject)
OnBindingContextChanged()

Eseguire l'override di questo metodo per eseguire un'azione quando BindingContext viene modificato.

(Ereditato da BindableObject)
OnPropertyChanged(String)

Chiamare questo metodo da una classe figlio per segnalare una modifica che si è verificata su una proprietà.

(Ereditato da BindableObject)
OnPropertyChanging(String)

Chiamare questo metodo da una classe figlio per segnalare che una proprietà sta per essere modificata.

(Ereditato da BindableObject)
RemoveBinding(BindableProperty)

Rimuove un'associazione impostata in precedenza.

(Ereditato da BindableObject)
SetBinding(BindableProperty, BindingBase)

Assegna un'associazione a una proprietà.

(Ereditato da BindableObject)
SetValue(BindableProperty, Object)

Imposta il valore della proprietà specificata.

(Ereditato da BindableObject)
SetValue(BindablePropertyKey, Object)

Imposta il valore di propertyKey.

(Ereditato da BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Per uso interno della piattaforma Xamarin.Forms.

(Ereditato da BindableObject)
UnapplyBindings()

Annulla tutte le associazioni impostate in precedenza.

(Ereditato da BindableObject)

Eventi

BindingContextChanged

Si verifica ogni volta che la proprietà BindingContext cambia.

(Ereditato da BindableObject)
PropertyChanged

Viene chiamato quando una proprietà è stata modificata.

(Ereditato da BindableObject)
PropertyChanging

Viene chiamato quando una proprietà sta per essere modificata.

(Ereditato da BindableObject)

Implementazioni dell'interfaccia esplicita

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Per uso interno della piattaforma Xamarin.Forms.

(Ereditato da BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Per uso interno della piattaforma Xamarin.Forms.

Metodi di estensione

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

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

Crea un'associazione e la applica a una proprietà.

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

Crea e applica un'associazione da un'espressione.

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

Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.

Si applica a

Vedi anche