Trigger Třída

Definice

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

[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
Dědičnost
System.Object
Trigger
Atributy
Implementuje

Poznámky

Třída Trigger je vhodná pro kontrolu hodnot jakékoli vlastnosti ovládacího prvku, ke kterému byla přidána. To znamená, že jeho výchozí kontext vazby je ovládací prvek, do kterého byl přidán. Pokud chcete vytvořit vazbu na jiné ovládací prvky než nadřazený, vývojáři by místo toho měli použít DataTrigger třídu .

Následující příklad XML vyzve uživatele k zadání tajného kódu, což je "Barva textu je červená". Když uživatel zadá tajný kód, změní se barva vstupního textu na červenou. Kód se vrátí zpět na výchozí barvu, pokud uživatel pak upraví text tak, aby se liší od tajného kódu. Tento příklad ukazuje, jak vytvořit vazbu na nadřazený ovládací prvek pomocí triggeru.


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

Následující příklad ukazuje, jak můžou vývojáři pomocí triggeru reagovat na události a aktualizovat hodnotu vlastnosti ovládacího prvku pomocí TriggerAction<T> tříd. Příklad vyzve uživatele, aby odpověděl na otázku týkající se barvy textu, a když ColorTriggerAction uživatel zadá text "Barva textu je červená". Vývojáři by si měli uvědomit, že i když tento příklad nezmění text zpět na výchozí barvu, když uživatel pokračuje v úpravách řetězce, vývojář může navíc implementovat a zadat akci ukončení, aby získal tento výsledek.

S níže definovanou třídou ColorTriggerAction v TriggerDemo oboru názvů:

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

Vývojář může pomocí kódu XAML níže vytvořit stránku, která reaguje na tajný řetězec změnou barvy Entry textové oblasti na červenou.

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

Konstruktory

Trigger(Type)

Inicializuje novou Trigger instanci.

Vlastnosti

BindingContext

Získá nebo nastaví objekt, který obsahuje vlastnosti, které budou cílit vázané vlastnosti, které patří k tomuto BindableObject.

(Zděděno od BindableObject)
Dispatcher

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

(Zděděno od BindableObject)
EnterActions

Získá seznam TriggerAction objektů, které budou vyvolány při splnění podmínky triggeru. Ignorováno pro EventTrigger třídu .

(Zděděno od TriggerBase)
ExitActions

Získá seznam TriggerAction objektů, které budou vyvolány po splnění podmínky triggeru již není splněna. Ignorováno pro EventTrigger třídu .

(Zděděno od TriggerBase)
IsSealed

Získá hodnotu, která označuje, zda aktivační událost je nebo není zapečetěna.

(Zděděno od TriggerBase)
Property

Získá nebo nastaví vlastnost, jejíž hodnota bude porovnána k Value určení, kdy vyvolat setters.

Setters

Získá seznam Setter objektů, které budou použity, když se vlastnost s názvem stane Property rovna Value.

TargetType

Typ objektu, ke kterému lze tento TriggerBase objekt připojit.

(Zděděno od TriggerBase)
Value

Získá nebo nastaví hodnotu vlastnosti pojmenované Property vlastností, která způsobí použití setters.

Metody

ApplyBindings()

Použijte vazby na BindingContext.

(Zděděno od BindableObject)
ClearValue(BindableProperty)

Vymaže všechny hodnoty nastavené parametrem SetValue pro property.

(Zděděno od BindableObject)
ClearValue(BindablePropertyKey)

Vymaže všechny hodnoty nastavené parametrem SetValue pro vlastnost, která je identifikovaná parametrem propertyKey.

(Zděděno od BindableObject)
CoerceValue(BindableProperty)

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

(Zděděno od BindableObject)
CoerceValue(BindablePropertyKey)

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

(Zděděno od BindableObject)
GetValue(BindableProperty)

Vrátí hodnotu, která je obsažena v BindableProperty.

(Zděděno od BindableObject)
GetValues(BindableProperty, BindableProperty)
Zastaralé.

Pro interní použití v Xamarinu. Forms platformu.

(Zděděno od BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Zastaralé.

Pro interní použití v Xamarinu. Forms platformu.

(Zděděno od BindableObject)
IsSet(BindableProperty)

Vrátí hodnotu true , pokud vlastnost cíle existuje a byla nastavena.

(Zděděno od BindableObject)
OnBindingContextChanged()

Přepsat tuto metodu provést akci při BindingContext změny.

(Zděděno od BindableObject)
OnPropertyChanged(String)

Volání této metody z podřízené třídy oznámit, že došlo ke změně vlastnosti.

(Zděděno od BindableObject)
OnPropertyChanging(String)

Voláním této metody z podřízené třídy oznámíte, že u vlastnosti dojde ke změně.

(Zděděno od BindableObject)
RemoveBinding(BindableProperty)

Odebere dříve nastavenou vazbu.

(Zděděno od BindableObject)
SetBinding(BindableProperty, BindingBase)

Přiřadí vazbu vlastnosti.

(Zděděno od BindableObject)
SetValue(BindableProperty, Object)

Nastaví hodnotu zadané vlastnosti.

(Zděděno od BindableObject)
SetValue(BindablePropertyKey, Object)

Nastaví hodnotu propertyKey.

(Zděděno od BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Pro interní použití v Xamarinu. Forms platformu.

(Zděděno od BindableObject)
UnapplyBindings()

Zruší použití všech dříve nastavených vazeb.

(Zděděno od BindableObject)

Událost

BindingContextChanged

Vyvolá se BindingContext při každé změně vlastnosti.

(Zděděno od BindableObject)
PropertyChanged

Vyvolá se při změně vlastnosti.

(Zděděno od BindableObject)
PropertyChanging

Vyvolá se, když se vlastnost změní.

(Zděděno od BindableObject)

Explicitní implementace rozhraní

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Pro interní použití v Xamarinu. Forms platformu.

(Zděděno od BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Pro interní použití v Xamarinu. Forms platformu.

Metody rozšíření

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

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

Vytvoří a použije vazbu na vlastnost.

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

Vytvoří a použije vazbu z výrazu.

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

Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.

Platí pro

Viz také