Trigger Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Klasse, die eine Eigenschaftenbedingung und eine Aktion darstellt, die ausgeführt wird, wenn die Bedingung erfüllt ist.
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
- Vererbung
- Attribute
- Implementiert
Hinweise
Die Trigger Klasse eignet sich zum Überprüfen der Werte einer beliebigen Eigenschaft für das Steuerelement, dem sie hinzugefügt wurde. Das heißt, der Standardbindungskontext ist das Steuerelement, dem es hinzugefügt wurde. Zum Binden an andere Steuerelemente als das übergeordnete Element sollten Entwickler stattdessen die DataTrigger Klasse verwenden.
Im folgenden XML-Beispiel wird der Benutzer aufgefordert, den geheimen Schlüssel einzugeben, also "Die Textfarbe ist rot". Wenn der Benutzer den geheimen Schlüssel eingegeben hat, ändert sich die Farbe des Eintragstexts in Rot. Der Code wird wieder auf die Standardfarbe zurückgedreht, wenn der Benutzer dann den Text bearbeitet, um sich von dem geheimen Schlüssel zu unterscheiden. In diesem Beispiel wird gezeigt, wie Eine Bindung an das eingeschlossene Steuerelement mit einem Trigger ausgeführt wird.
<?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>
Das folgende Beispiel zeigt, wie Entwickler mithilfe von Klassen einen Trigger verwenden können, um auf Ereignisse zu reagieren und den Wert einer Steuerelementeigenschaft TriggerAction<T> zu aktualisieren. Im Beispiel wird der Benutzer aufgefordert, eine Frage zur Farbe des Texts zu beantworten, und ruft dann auf ColorTriggerAction
, den Text rot zu drehen, wenn der Benutzer "Die Textfarbe ist rot" eingibt. Entwickler sollten beachten, dass der Text in diesem Beispiel zwar nicht wieder in die Standardfarbe geändert wird, wenn der Benutzer die Zeichenfolge weiterhin bearbeitet, der Entwickler aber auch eine Beendigungsaktion implementieren und angeben kann, um dieses Ergebnis zu erhalten.
Mit der unten im TriggerDemo
Namespace definierten ColorTriggerAction-Klasse:
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
Der Entwickler kann den folgenden XAML-Code verwenden, um die Seite zu erstellen, die auf die geheime Zeichenfolge reagiert, indem die Farbe des Entry Textbereichs in Rot geändert wird.
<?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>
Konstruktoren
Trigger(Type) |
Initialisiert eine neue Instanz von Trigger. |
Eigenschaften
BindingContext |
Dient zum Abrufen oder Festlegen eines Objekts, das die Eigenschaften enthält, die von den gebundenen Eigenschaften bestimmt werden, die zu diesem BindableObjectGehören. Dies ist eine bindbare Eigenschaft. (Geerbt von BindableObject) |
Dispatcher |
Ruft den Dispatcher ab, der verfügbar war, als dieses bindbare Objekt erstellt wurde, andernfalls versucht, den nächstgelegenen verfügbaren Verteiler (wahrscheinlich die Fenster/App's) zu finden. (Geerbt von BindableObject) |
EnterActions |
Ruft die Liste mit TriggerAction-Objekten ab, die ausgelöst werden, wenn die Triggerbedingung erfüllt ist. Wird für die EventTrigger-Klasse ignoriert. (Geerbt von TriggerBase) |
ExitActions |
Ruft die Liste mit TriggerAction-Objekten ab, die ausgelöst wird, wenn die Triggerbedingung nicht mehr erfüllt ist. Wird für die EventTrigger-Klasse ignoriert. (Geerbt von TriggerBase) |
IsSealed |
Ruft einen Wert ab, der angibt, ob der Trigger versiegelt ist. (Geerbt von TriggerBase) |
Property |
Ruft die Eigenschaft ab, deren Wert mit Value verglichen wird, um zu bestimmen, wann die Setter aufgerufen werden sollen, oder legt diese fest. |
Setters |
Ruft die Liste mit Setter-Objekten ab, die angewendet werden, wenn die von Property benannte Eigenschaft Value entspricht. |
TargetType |
Der Typ des Objekts, an das dieses TriggerBase-Objekt angefügt werden kann. (Geerbt von TriggerBase) |
Value |
Ruft den Wert der nach der Property-Eigenschaft benannten Eigenschaft ab, bei dem die Setter angewendet werden, oder legt diesen fest. |
Methoden
ApplyBindings() |
Wendet alle aktuellen Bindungen auf BindingContext. (Geerbt von BindableObject) |
ClearValue(BindableProperty) |
Löscht alle Werte, die zuvor für eine bindungsfähige Eigenschaft festgelegt wurden. (Geerbt von BindableObject) |
ClearValue(BindablePropertyKey) |
Löscht jeden Wert, der zuvor für eine bindungsfähige Eigenschaft festgelegt wurde, die durch den Schlüssel identifiziert wird. (Geerbt von BindableObject) |
CoerceValue(BindableProperty) |
Wandelt den Wert der angegebenen bindungsfähigen Eigenschaft um. Dies erfolgt durch Aufrufen BindableProperty.CoerceValueDelegate der angegebenen bindungsfähigen Eigenschaft. (Geerbt von BindableObject) |
CoerceValue(BindablePropertyKey) |
Wandelt den Wert der angegebenen bindungsfähigen Eigenschaft um. Dies erfolgt durch Aufrufen BindableProperty.CoerceValueDelegate der angegebenen bindungsfähigen Eigenschaft. (Geerbt von BindableObject) |
GetValue(BindableProperty) |
Gibt den Wert zurück, der in der angegebenen bindungsfähigen Eigenschaft enthalten ist. (Geerbt von BindableObject) |
IsSet(BindableProperty) |
Bestimmt, ob eine bindungsfähige Eigenschaft vorhanden ist und einen Wert festgelegt hat. (Geerbt von BindableObject) |
OnBindingContextChanged() |
Löst das BindingContextChanged-Ereignis aus. (Geerbt von BindableObject) |
OnPropertyChanged(String) |
Löst das PropertyChanged-Ereignis aus. (Geerbt von BindableObject) |
OnPropertyChanging(String) |
Löst das PropertyChanging-Ereignis aus. (Geerbt von BindableObject) |
RemoveBinding(BindableProperty) |
Entfernt eine zuvor festgelegte Bindung aus einer bindungsfähigen Eigenschaft. (Geerbt von BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Weist einer bindungsfähigen Eigenschaft eine Bindung zu. (Geerbt von BindableObject) |
SetValue(BindableProperty, Object) |
Legt den Wert der angegebenen bindungsfähigen Eigenschaft fest. (Geerbt von BindableObject) |
SetValue(BindablePropertyKey, Object) |
Legt den Wert der angegebenen bindungsfähigen Eigenschaft fest. (Geerbt von BindableObject) |
UnapplyBindings() |
Entfernt alle aktuellen Bindungen aus dem aktuellen Kontext. (Geerbt von BindableObject) |
Ereignisse
BindingContextChanged |
Tritt auf, wenn sich der Wert der BindingContext-Eigenschaft ändert. (Geerbt von BindableObject) |
PropertyChanged |
Tritt auf, wenn sich ein Eigenschaftswert ändert. (Geerbt von BindableObject) |
PropertyChanging |
Tritt auf, wenn sich ein Eigenschaftswert ändert. (Geerbt von BindableObject) |
Explizite Schnittstellenimplementierungen
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Klasse, die eine Eigenschaftenbedingung und eine Aktion darstellt, die ausgeführt wird, wenn die Bedingung erfüllt ist. (Geerbt von BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Klasse, die eine Eigenschaftenbedingung und eine Aktion darstellt, die ausgeführt wird, wenn die Bedingung erfüllt ist. |
Erweiterungsmethoden
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Klasse, die eine Eigenschaftenbedingung und eine Aktion darstellt, die ausgeführt wird, wenn die Bedingung erfüllt ist. |
SetAppTheme<T>(BindableObject, BindableProperty, T, T) |
Klasse, die eine Eigenschaftenbedingung und eine Aktion darstellt, die ausgeführt wird, wenn die Bedingung erfüllt ist. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Klasse, die eine Eigenschaftenbedingung und eine Aktion darstellt, die ausgeführt wird, wenn die Bedingung erfüllt ist. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Erstellt eine Bindung mit einer Eigenschaft und wendet diese an. |
SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object) |
Erstellt eine Bindung zwischen einer Eigenschaft für das Quellobjekt und einer Eigenschaft für das Zielobjekt. |