Compartilhar via


Trigger Classe

Definição

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

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
Herança
Atributos
Implementações

Comentários

A Trigger classe é adequada para verificar os valores de qualquer propriedade no controle ao qual foi adicionada. Ou seja, seu contexto de associação padrão é o controle ao qual ele foi adicionado. Para associar a controles diferentes do pai, os desenvolvedores devem usar a DataTrigger classe.

O exemplo XML abaixo solicita que o usuário digite o segredo, que é "A cor do texto é vermelha". Quando o usuário digita o segredo, o texto de entrada muda de cor para vermelho. O código é revertido para a cor padrão se o usuário editar o texto para diferir do segredo. Este exemplo mostra como associar ao controle delimitador com um gatilho.


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

O exemplo a seguir mostra como os desenvolvedores podem usar um gatilho para responder a eventos e atualizar o valor de uma propriedade de controle usando TriggerAction<T> classes. O exemplo solicita que o usuário responda a uma pergunta sobre a cor do texto e, em seguida, chama ColorTriggerAction para tornar o texto vermelho quando o usuário digita "A cor do texto é vermelha". Os desenvolvedores devem observar que, embora este exemplo não altere o texto de volta para a cor padrão quando o usuário continua a editar a cadeia de caracteres, o desenvolvedor também pode implementar e especificar uma ação de saída para obter esse resultado.

Com a classe ColorTriggerAction abaixo definida no TriggerDemo namespace:

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

o desenvolvedor pode usar o XAML abaixo para criar a página que responde à cadeia de caracteres secreta alterando a cor da área de Entry texto para vermelho.

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

Construtores

Trigger(Type)

Inicializa uma nova instância Trigger.

Propriedades

BindingContext

Obtém ou define um objeto que contém as propriedades que serão direcionadas pelas propriedades associadas que pertencem a este BindableObject. Esta é uma propriedade associável.

(Herdado de BindableObject)
Dispatcher

Obtém o dispatcher que estava disponível quando esse objeto associável foi criado, caso contrário, tenta encontrar o dispatcher disponível mais próximo (provavelmente o da janela/aplicativo).

(Herdado de BindableObject)
EnterActions

Obtém a lista de objetos TriggerAction que serão invocados quando a condição do gatilho for atendida. Ignorado para a classe EventTrigger.

(Herdado de TriggerBase)
ExitActions

Obtém a lista de objetos TriggerAction que serão invocados depois que a condição do gatilho não for mais atendida. Ignorado para a classe EventTrigger.

(Herdado de TriggerBase)
IsSealed

Obtém um valor que indica se o gatilho está ou não selado.

(Herdado de TriggerBase)
Property

Obtém ou define a propriedade cujo valor será comparado a Value para determinar quando invocar os setters.

Setters

Obtém a lista de objetos Setter que serão aplicados quando a propriedade nomeada por Property se tornar igual a Value.

TargetType

O tipo de objeto ao qual este objeto TriggerBase pode ser anexado.

(Herdado de TriggerBase)
Value

Obtém ou define o valor da propriedade, nomeada pela propriedade Property, o que fará os setters serem aplicados.

Métodos

ApplyBindings()

Aplica todas as associações atuais a BindingContext.

(Herdado de BindableObject)
ClearValue(BindableProperty)

Limpa qualquer valor definido anteriormente para uma propriedade associável.

(Herdado de BindableObject)
ClearValue(BindablePropertyKey)

Limpa qualquer valor definido anteriormente para uma propriedade associável, identificada por sua chave.

(Herdado de BindableObject)
CoerceValue(BindableProperty)

Força-se o valor da propriedade associável especificada. Isso é feito invocando BindableProperty.CoerceValueDelegate a propriedade associável especificada.

(Herdado de BindableObject)
CoerceValue(BindablePropertyKey)

Força-se o valor da propriedade associável especificada. Isso é feito invocando BindableProperty.CoerceValueDelegate a propriedade associável especificada.

(Herdado de BindableObject)
GetValue(BindableProperty)

Retorna o valor contido na propriedade associável fornecida.

(Herdado de BindableObject)
IsSet(BindableProperty)

Determina se existe ou não uma propriedade associável e tem um conjunto de valores.

(Herdado de BindableObject)
OnBindingContextChanged()

Aciona o evento BindingContextChanged.

(Herdado de BindableObject)
OnPropertyChanged(String)

Aciona o evento PropertyChanged.

(Herdado de BindableObject)
OnPropertyChanging(String)

Aciona o evento PropertyChanging.

(Herdado de BindableObject)
RemoveBinding(BindableProperty)

Remove uma associação definida anteriormente de uma propriedade associável.

(Herdado de BindableObject)
SetBinding(BindableProperty, BindingBase)

Atribui uma associação a uma propriedade associável.

(Herdado de BindableObject)
SetValue(BindableProperty, Object)

Define o valor da propriedade associável especificada.

(Herdado de BindableObject)
SetValue(BindablePropertyKey, Object)

Define o valor da propriedade associável especificada.

(Herdado de BindableObject)
UnapplyBindings()

Remove todas as associações atuais do contexto atual.

(Herdado de BindableObject)

Eventos

BindingContextChanged

Ocorre quando o valor da propriedade BindingContext muda.

(Herdado de BindableObject)
PropertyChanged

Ocorre quando um valor de propriedade é alterado.

(Herdado de BindableObject)
PropertyChanging

Ocorre quando um valor da propriedade está sendo alterado.

(Herdado de BindableObject)

Implantações explícitas de interface

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

(Herdado de BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

Métodos de Extensão

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

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

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.

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

Cria e aplica uma associação a uma propriedade.

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

Cria uma associação entre uma propriedade no objeto de origem e uma propriedade no objeto de destino.

Aplica-se a

Confira também