Trigger Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione.
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
- Ereditarietà
- 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 a 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 entry cambia colore in rosso. Il codice viene riattivato sul 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à di controllo usando TriggerAction<T> le classi . L'esempio chiede all'utente di rispondere a una domanda sul colore del testo e quindi chiama ColorTriggerAction
per trasformare il testo in rosso quando l'utente digita "Il colore del testo è rosso". Gli sviluppatori devono notare che, mentre 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 di Entry 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 "The text"?"
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 un oggetto che contiene le proprietà di destinazione delle proprietà associate che appartengono a questo BindableObjectoggetto . Si tratta di una proprietà associabile. (Ereditato da BindableObject) |
Dispatcher |
Ottiene il dispatcher disponibile al momento della creazione di questo oggetto associabile. In caso contrario, tenta di trovare il dispatcher più vicino disponibile (probabilmente quello della finestra o dell'app). (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 tutte le associazioni correnti a BindingContext. (Ereditato da BindableObject) |
ClearValue(BindableProperty) |
Cancella qualsiasi valore impostato in precedenza per una proprietà associabile. (Ereditato da BindableObject) |
ClearValue(BindablePropertyKey) |
Cancella qualsiasi valore impostato in precedenza per una proprietà associabile, identificata dalla relativa chiave. (Ereditato da BindableObject) |
CoerceValue(BindableProperty) |
Forza il valore della proprietà associabile specificata. Questa operazione viene eseguita richiamando BindableProperty.CoerceValueDelegate la proprietà associabile specificata. (Ereditato da BindableObject) |
CoerceValue(BindablePropertyKey) |
Forza il valore della proprietà associabile specificata. Questa operazione viene eseguita richiamando BindableProperty.CoerceValueDelegate la proprietà associabile specificata. (Ereditato da BindableObject) |
GetValue(BindableProperty) |
Restituisce il valore contenuto nella proprietà associabile specificata. (Ereditato da BindableObject) |
IsSet(BindableProperty) |
Determina se esiste o meno una proprietà associabile e ha un valore impostato. (Ereditato da BindableObject) |
OnBindingContextChanged() |
Genera l'evento BindingContextChanged. (Ereditato da BindableObject) |
OnPropertyChanged(String) |
Genera l'evento PropertyChanged. (Ereditato da BindableObject) |
OnPropertyChanging(String) |
Genera l'evento PropertyChanging. (Ereditato da BindableObject) |
RemoveBinding(BindableProperty) |
Rimuove un'associazione impostata in precedenza da una proprietà associabile. (Ereditato da BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Assegna un'associazione a una proprietà associabile. (Ereditato da BindableObject) |
SetValue(BindableProperty, Object) |
Imposta il valore della proprietà associabile specificata. (Ereditato da BindableObject) |
SetValue(BindablePropertyKey, Object) |
Imposta il valore della proprietà associabile specificata. (Ereditato da BindableObject) |
UnapplyBindings() |
Rimuove tutte le associazioni correnti dal contesto corrente. (Ereditato da BindableObject) |
Eventi
BindingContextChanged |
Si verifica quando il valore della proprietà BindingContext cambia. (Ereditato da BindableObject) |
PropertyChanged |
Si verifica quando un valore della proprietà viene modificato. (Ereditato da BindableObject) |
PropertyChanging |
Si verifica quando il valore di una proprietà cambia. (Ereditato da BindableObject) |
Implementazioni dell'interfaccia esplicita
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione. (Ereditato da BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Classe che rappresenta una condizione della proprietà e un'azione che viene eseguita quando viene soddisfatta la condizione. |
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. |
SetAppTheme<T>(BindableObject, BindableProperty, T, 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,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object) |
Crea un'associazione tra una proprietà nell'oggetto di origine e una proprietà nell'oggetto di destinazione. |