Compartilhar via


Trigger Classe

Definição

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

[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
Herança
System.Object
Trigger
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 em controles diferentes do pai, os desenvolvedores devem usar a DataTrigger classe .

O exemplo XML abaixo solicita que o usuário digite o segredo, ou seja, "A cor do texto é vermelha". Quando o usuário digita o segredo, o texto entrada muda de cor para vermelho. O código será voltado para a cor padrão se o usuário editar o texto para diferir do segredo. Este exemplo mostra como associar ao controle delimitante 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 continuar 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 o objeto que contém as propriedades que serão o destino das propriedades associadas que pertencem a este BindableObject.

(Herdado de BindableObject)
Dispatcher

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

(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()

Aplicar as associações a BindingContext.

(Herdado de BindableObject)
ClearValue(BindableProperty)

Limpa qualquer valor definido por SetValue para property.

(Herdado de BindableObject)
ClearValue(BindablePropertyKey)

Limpa qualquer valor definido por SetValue para a propriedade identificada por propertyKey.

(Herdado de BindableObject)
CoerceValue(BindableProperty)

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

(Herdado de BindableObject)
CoerceValue(BindablePropertyKey)

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

(Herdado de BindableObject)
GetValue(BindableProperty)

Retorna o valor contido na BindableProperty.

(Herdado de BindableObject)
GetValues(BindableProperty, BindableProperty)
Obsoleto.

Para uso interno pela plataforma do Xamarin.Forms.

(Herdado de BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Obsoleto.

Para uso interno pela plataforma do Xamarin.Forms.

(Herdado de BindableObject)
IsSet(BindableProperty)

Retornará true se a propriedade de destino existir e tiver sido definida.

(Herdado de BindableObject)
OnBindingContextChanged()

Substitua este método para executar uma ação quando BindingContext mudar.

(Herdado de BindableObject)
OnPropertyChanged(String)

Chame esse método de uma classe filho para notificar que ocorreu uma alteração em uma propriedade.

(Herdado de BindableObject)
OnPropertyChanging(String)

Chame esse método de uma classe filho para notificar que uma alteração vai acontecer em uma propriedade.

(Herdado de BindableObject)
RemoveBinding(BindableProperty)

Remove uma associação definida anteriormente.

(Herdado de BindableObject)
SetBinding(BindableProperty, BindingBase)

Atribui uma associação a uma propriedade.

(Herdado de BindableObject)
SetValue(BindableProperty, Object)

Define o valor da propriedade especificada.

(Herdado de BindableObject)
SetValue(BindablePropertyKey, Object)

Define o valor da propertyKey.

(Herdado de BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Para uso interno pela plataforma do Xamarin.Forms.

(Herdado de BindableObject)
UnapplyBindings()

Cancela a aplicação de todas as associações definidas anteriormente.

(Herdado de BindableObject)

Eventos

BindingContextChanged

Gerado sempre que a propriedade BindingContext muda.

(Herdado de BindableObject)
PropertyChanged

Gerado quando uma propriedade foi alterada.

(Herdado de BindableObject)
PropertyChanging

Gerado quando uma propriedade está prestes a mudar.

(Herdado de BindableObject)

Implantações explícitas de interface

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Para uso interno pela plataforma do Xamarin.Forms.

(Herdado de BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Para uso interno pela plataforma do Xamarin.Forms.

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.

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>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Obsoleto.

Cria e aplica uma associação de uma expressão.

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

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

Aplica-se a

Confira também