DataTrigger Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición.
[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type DataTrigger = class
inherit TriggerBase
interface IValueProvider
- Herencia
- Atributos
- Implementaciones
Comentarios
La DataTrigger clase es adecuada para comprobar los valores de otros controles, así como cualquier propiedad del control al que se ha agregado. Es decir, su contexto de enlace predeterminado es el control al que se ha agregado.
En el ejemplo XML siguiente se solicita al usuario que escriba el secreto, es decir, "El color del texto es verde". Cuando el usuario ha escrito "The", el texto De entrada cambia el color a rojo. Cuando el usuario completa el secreto, el texto etiqueta se vuelve verde. El código se vuelve al color predeterminado si el usuario edita el secreto. En este ejemplo se muestra cómo enlazar al control envolvente (Entrada de entrada de entrada) y a un control arbitario (entrada de etiqueta)
<?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="Can you tell me the secret?" VerticalOptions="Center" HorizontalOptions="Center">
<Label.Triggers>
<DataTrigger TargetType="Label"
Binding="{Binding Source={x:Reference checkEntry},
Path=Text}"
Value="The text color is green">
<Setter Property="TextColor" Value="Color.Green" />
</DataTrigger>
</Label.Triggers>
</Label>
<Entry Placeholder="Type the secret here." x:Name="checkEntry" VerticalOptions="Center" HorizontalOptions="Center">
<Entry.Triggers>
<DataTrigger TargetType="Entry"
Binding="{Binding Text}"
Value="The">
<Setter Property="TextColor" Value="Red" />
</DataTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
Constructores
DataTrigger(Type) |
Inicializa una nueva instancia de DataTrigger. |
Propiedades
Binding |
Obtiene o establece el enlace cuyo valor se comparará con Value para determinar cuándo se deben invocar los establecedores. |
BindingContext |
Obtiene o establece el objeto que contiene las propiedades que van a dirigir las propiedades enlazadas que pertenecen a este BindableObject. (Heredado de BindableObject) |
Dispatcher |
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición. (Heredado de BindableObject) |
EnterActions |
Obtiene la lista de objetos TriggerAction que se invocará cuando se cumpla la condición del desencadenador. Se ignora para la clase EventTrigger (Heredado de TriggerBase) |
ExitActions |
Obtiene la lista de objetos TriggerAction que se invocará después de que la condición del desencadenador ya no se cumpla. Se ignora para la clase EventTrigger (Heredado de TriggerBase) |
IsSealed |
Obtiene un valor que indica si el desencadenador está sellado o no. (Heredado de TriggerBase) |
Setters |
Obtiene la lista de Setter objetos que se aplicarán cuando el enlace denominado por la Binding propiedad sea igual a Value. |
TargetType |
El tipo de objeto al que se puede adjuntar este objeto TriggerBase. (Heredado de TriggerBase) |
Value |
Obtiene o establece el valor del enlace, denominado por la propiedad Binding, que hará que se apliquen los establecedores. |
Métodos
ApplyBindings() |
Aplica los enlaces a BindingContext. (Heredado de BindableObject) |
ClearValue(BindableProperty) |
Borra cualquier valor establecido por SetValue para |
ClearValue(BindablePropertyKey) |
Borra cualquier valor establecido por SetValue para la propiedad que |
CoerceValue(BindableProperty) |
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición. (Heredado de BindableObject) |
CoerceValue(BindablePropertyKey) |
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición. (Heredado de BindableObject) |
GetValue(BindableProperty) |
Devuelve el valor contenido en la propiedad BindableProperty. (Heredado de BindableObject) |
GetValues(BindableProperty, BindableProperty, BindableProperty) |
Obsoletos.
Para uso interno de la plataforma de Xamarin.Forms. (Heredado de BindableObject) |
GetValues(BindableProperty, BindableProperty) |
Obsoletos.
Para uso interno de la plataforma de Xamarin.Forms. (Heredado de BindableObject) |
IsSet(BindableProperty) |
Devuelve |
OnBindingContextChanged() |
Reemplaza este método para ejecutar una acción cuando BindingContext cambia. (Heredado de BindableObject) |
OnPropertyChanged(String) |
Llama a este método desde una clase secundaria para notificar que se produjo un cambio en una propiedad. (Heredado de BindableObject) |
OnPropertyChanging(String) |
Llama a este método desde una clase secundaria para notificar que se va a producir un cambio en una propiedad. (Heredado de BindableObject) |
RemoveBinding(BindableProperty) |
Quita un enlace definida previamente. (Heredado de BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Asigna un enlace a una propiedad. (Heredado de BindableObject) |
SetValue(BindableProperty, Object) |
Establece el valor de la propiedad especificada. (Heredado de BindableObject) |
SetValue(BindablePropertyKey, Object) |
Establece el valor de la propiedad propertyKey. (Heredado de BindableObject) |
SetValueCore(BindableProperty, Object, SetValueFlags) |
Para uso interno de la plataforma de Xamarin.Forms. (Heredado de BindableObject) |
UnapplyBindings() |
Deshace todos los enlaces establecidos previamente. (Heredado de BindableObject) |
Eventos
BindingContextChanged |
Se produce siempre que cambia la propiedad BindingContext. (Heredado de BindableObject) |
PropertyChanged |
Se produce cuando ha cambiado una propiedad. (Heredado de BindableObject) |
PropertyChanging |
Se produce cuando una propiedad está a punto de cambiar. (Heredado de BindableObject) |
Implementaciones de interfaz explícitas
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Para uso interno de la plataforma de Xamarin.Forms. (Heredado de BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Para uso interno de la infraestructura XAML. |
Métodos de extensión
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Crea y aplica un enlace a una propiedad. |
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Obsoletos.
Crea y aplica un enlace desde una expresión. |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
Clase que representa una condición en un enlace arbitrario, junto con una lista de objetos Setter que se aplicarán cuando se cumpla la condición. |