Trigger Trigger Class

Definición

Clase que representa una condición de propiedad y una acción que se realiza cuando se cumple la condición.Class that represents a property condition and an action that is performed when the condition is met.

[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
Herencia
Atributos
Implementaciones

Comentarios

La Trigger clase es adecuada para comprobar los valores de cualquier propiedad del control al que se ha agregado.The Trigger class is suitable for checking the values of any property on the control to which it has been added. Es decir, su contexto de enlace predeterminada es el control al que se ha agregado.That is, its default binding context is the control to which it has been added. Para enlazar los controles que no sea el elemento primario, los desarrolladores deben usar la DataTrigger clase, en su lugar.To bind on controls other than the parent, developers should use the DataTrigger class, instead.

El ejemplo XML siguiente solicita al usuario que escriba el secreto, que es, "el color del texto está en rojo".The XML example below prompts the user to type in the secret, which is, "The text color is red". Cuando el usuario ha escrito el secreto, el texto de entrada cambia de color a rojo.When the user has typed the secret, the Entry text changes color to red. El código se convierte en el color predeterminado si el usuario, a continuación, edite el texto para diferir el secreto.The code is turned back to the default color if the user then edits the text to differ from the secret. En este ejemplo se muestra cómo enlazar al control envolvente con un desencadenador.This example shows how to bind to the enclosing control with a trigger.


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

El ejemplo siguiente muestra cómo los desarrolladores pueden usar un desencadenador para responder a eventos y actualizar el valor de una propiedad de control mediante TriggerAction<T> clases.The example below shows how developers can use a trigger to respond to events and update the value of a control property by using TriggerAction<T> classes. En el ejemplo se pide al usuario que responda una pregunta sobre el color del texto y, a continuación, llama a ColorTriggerAction para activar el texto rojo cuando el usuario escribe "el color del texto está en rojo".The example prompts the user to answer a question about the color of the text, and then calls ColorTriggerAction to turn the text red when the user types "The text color is red". Los desarrolladores deben tener en cuenta que, mientras que en este ejemplo no cambia el texto al color predeterminado cuando el usuario continúa modificar la cadena, el desarrollador pudo además implementar y especificar una acción de salida para obtener ese resultado.Developers should note that, while this example does not change the text back to the default color when the user continues to edit the string, the developer could additionally implement and specify an exit action to obtain that result.

Con la clase ColorTriggerAction siguiente definida en el TriggerDemo espacio de nombres:With the ColorTriggerAction class below defined in the TriggerDemo namespace:

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

el programador puede utilizar el XAML siguiente para crear la página que responde a la cadena de secreto cambiándole el color de la Entry área de texto en rojo.the developer can use the XAML below to create the page that responds to the secret string by changing the color of the Entry text area to red.

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

Constructores

Trigger(Type) Trigger(Type)

Inicializa una nueva instancia de Trigger.Initializes a new Trigger instance.

Propiedades

BindingContext BindingContext

Obtiene o establece el objeto que contiene las propiedades que van a dirigir las propiedades enlazadas que pertenecen a este BindableObject.Gets or sets object that contains the properties that will be targeted by the bound properties that belong to this BindableObject.

(Inherited from BindableObject)
EnterActions EnterActions

Obtiene la lista de objetos TriggerAction que se invocará cuando se cumpla la condición del desencadenador.Gets the list of TriggerAction objects that will be invoked when the trigger condition is met. Se ignora para la clase EventTrigger Ignored for the EventTrigger class.

(Inherited from TriggerBase)
ExitActions ExitActions

Obtiene la lista de objetos TriggerAction que se invocará después de que la condición del desencadenador ya no se cumpla.Gets the list of TriggerAction objects that will be invoked after the trigger condition is no longer met. Se ignora para la clase EventTrigger Ignored for the EventTrigger class.

(Inherited from TriggerBase)
IsSealed IsSealed

Obtiene un valor que indica si el desencadenador está sellado o no.Gets a value that indicates whether or not the trigger is sealed.

(Inherited from TriggerBase)
Property Property

Obtiene o establece la propiedad cuyo valor se comparará con Value para determinar cuándo se deben invocar los establecedores.Gets or sets the property whose value will be compared to Value to determine when to invoke the setters.

Setters Setters

Obtiene la lista de objetos Setter que se aplicarán cuando la propiedad que Property denomina sea igual a Value.Gets the list of Setter objects that will be applied when the property that is named by Property becomes equal to Value.

TargetType TargetType

El tipo de objeto al que se puede adjuntar este objeto TriggerBase.The type of object to which this TriggerBase object can be attached.

(Inherited from TriggerBase)
Value Value

Obtiene o establece el valor de la propiedad, denominada por la propiedad Property, que hará que se apliquen los establecedores.Gets or sets the value of the property, named by the Property property, that will cause the setters to be applied.

Implementaciones de interfaz explícitas

IAttachedObject.AttachTo(BindableObject) IAttachedObject.AttachTo(BindableObject)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

(Inherited from TriggerBase)
IAttachedObject.DetachFrom(BindableObject) IAttachedObject.DetachFrom(BindableObject)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

(Inherited from TriggerBase)
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
IValueProvider.ProvideValue(IServiceProvider) IValueProvider.ProvideValue(IServiceProvider)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

Métodos

ApplyBindings() ApplyBindings()

Aplica los enlaces a BindingContext.Apply the bindings to BindingContext.

(Inherited from BindableObject)
ClearValue(BindableProperty) ClearValue(BindableProperty)

Borra cualquier valor establecido por SetValue para property.Clears any value set by SetValue for property.

(Inherited from BindableObject)
ClearValue(BindablePropertyKey) ClearValue(BindablePropertyKey)

Borra cualquier valor establecido por SetValue para la propiedad que propertyKey identifica.Clears any value set by SetValue for the property that is identified by propertyKey.

(Inherited from BindableObject)
GetValue(BindableProperty) GetValue(BindableProperty)

Devuelve el valor contenido en la propiedad BindableProperty.Returns the value that is contained in the BindableProperty.

(Inherited from BindableObject)
GetValues(BindableProperty, BindableProperty) GetValues(BindableProperty, BindableProperty)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty) GetValues(BindableProperty, BindableProperty, BindableProperty)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
IsSet(BindableProperty) IsSet(BindableProperty)

Devuelve true si existe y se ha establecido la propiedad de destino.Returns true if the target property exists and has been set.

(Inherited from BindableObject)
OnBindingContextChanged() OnBindingContextChanged()

Reemplaza este método para ejecutar una acción cuando BindingContext cambia.Override this method to execute an action when the BindingContext changes.

(Inherited from BindableObject)
OnPropertyChanged(String) OnPropertyChanged(String)

Llama a este método desde una clase secundaria para notificar que se produjo un cambio en una propiedad.Call this method from a child class to notify that a change happened on a property.

(Inherited from BindableObject)
OnPropertyChanging(String) OnPropertyChanging(String)

Llama a este método desde una clase secundaria para notificar que se va a producir un cambio en una propiedad.Call this method from a child class to notify that a change is going to happen on a property.

(Inherited from BindableObject)
RemoveBinding(BindableProperty) RemoveBinding(BindableProperty)

Quita un enlace definida previamente.Removes a previously set binding.

(Inherited from BindableObject)
SetBinding(BindableProperty, BindingBase) SetBinding(BindableProperty, BindingBase)

Asigna un enlace a una propiedad.Assigns a binding to a property.

(Inherited from BindableObject)
SetValue(BindableProperty, Object) SetValue(BindableProperty, Object)

Establece el valor de la propiedad especificada.Sets the value of the specified property.

(Inherited from BindableObject)
SetValue(BindablePropertyKey, Object) SetValue(BindablePropertyKey, Object)

Establece el valor de la propiedad propertyKey.Sets the value of the propertyKey.

(Inherited from BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags) SetValueCore(BindableProperty, Object, SetValueFlags)

Para uso interno de la plataforma de Xamarin.Forms.For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
UnapplyBindings() UnapplyBindings()

Deshace todos los enlaces establecidos previamente.Unapplies all previously set bindings.

(Inherited from BindableObject)

Eventos

BindingContextChanged BindingContextChanged

Se produce siempre que cambia la propiedad BindingContext.Raised whenever the BindingContext property changes.

(Inherited from BindableObject)
PropertyChanged PropertyChanged

Se produce cuando ha cambiado una propiedad.Raised when a property has changed.

(Inherited from BindableObject)
PropertyChanging PropertyChanging

Se produce cuando una propiedad está a punto de cambiar.Raised when a property is about to change.

(Inherited from BindableObject)

Extension Methods

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

Crea y aplica un enlace a una propiedad.Creates and applies a binding to a property.

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

Crea y aplica un enlace desde una expresión.Creates and applies a binding from an expression.

Se aplica a

Consulte también: