Sdílet prostřednictvím


Trigger Třída

Definice

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

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
Dědičnost
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 výchozí kontext vazby je ovládací prvek, ke kterému byl přidán. K vytvoření vazby na ovládací prvky jiné než nadřazené by vývojáři měli místo toho 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 text položky 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 s triggerem.


<?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. V příkladu se uživateli zobrazí výzva, aby odpověděl na otázku týkající se barvy textu, a když uživatel zadá "Barva textu je červená", zavolá ColorTriggerAction , aby text zčervená. Vývojáři by měli mít na paměti, že zatímco tento příklad nezmění text zpět na výchozí barvu, když uživatel bude pokračovat v úpravě řetězce, vývojář může navíc implementovat a zadat výstupní akci pro získání tohoto výsledku.

S ColorTriggerAction třídy níže definované 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 obsahující vlastnosti, které budou cílem vázané vlastnosti, které patří do tohoto BindableObject. Toto je vlastnost s možností vazby.

(Zděděno od BindableObject)
Dispatcher

Získá dispečer, který byl k dispozici při vytvoření tohoto objektu bindable, jinak se pokusí najít nejbližší dostupný dispečer (pravděpodobně okno/aplikace).

(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. Ignorováno pro EventTrigger třídu.

(Zděděno od TriggerBase)
IsSealed

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

(Zděděno od TriggerBase)
Property

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

Setters

Získá seznam Setter objektů, které budou použity, když vlastnost, která je pojmenována Property se rovná 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žije všechny aktuální vazby na BindingContext.

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

Vymaže libovolnou hodnotu, která byla dříve nastavena pro vlastnost bindable.

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

Vymaže libovolnou hodnotu, která byla dříve nastavena pro vlastnost bindable identifikovanou jeho klíčem.

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

Převede hodnotu zadané vlastnosti bindable. To se provádí vyvoláním BindableProperty.CoerceValueDelegate zadané bindable vlastnosti.

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

Převede hodnotu zadané vlastnosti bindable. To se provádí vyvoláním BindableProperty.CoerceValueDelegate zadané bindable vlastnosti.

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

Vrátí hodnotu obsaženou v dané vlastnosti bindable.

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

Určuje, zda existuje vlastnost bindable a má nastavenou hodnotu.

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

BindingContextChanged Vyvolá událost.

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

PropertyChanged Vyvolá událost.

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

PropertyChanging Vyvolá událost.

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

Odebere dříve nastavenou vazbu z vlastnosti bindable.

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

Přiřadí vazbu k vlastnosti s možností vazby.

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

Nastaví hodnotu zadané vlastnosti bindable.

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

Nastaví hodnotu zadané vlastnosti bindable.

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

Odebere všechny aktuální vazby z aktuálního kontextu.

(Zděděno od BindableObject)

Událost

BindingContextChanged

Nastane, když se změní hodnota BindingContext vlastnosti.

(Zděděno od BindableObject)
PropertyChanged

Nastane, když se změní hodnota vlastnosti.

(Zděděno od BindableObject)
PropertyChanging

Nastane při změně hodnoty vlastnosti.

(Zděděno od BindableObject)

Explicitní implementace rozhraní

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

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

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

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

Metody rozšíření

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

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

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

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

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

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

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

Vytvoří a použije vazbu na vlastnost.

SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object)

Vytvoří vazbu mezi vlastností zdrojového objektu a vlastností cílového objektu.

Platí pro

Viz také