Share via


EventTrigger Class

Definition

Class that represents a triggering event and a list of TriggerAction objects that will be invoked when the event is raised.

[Xamarin.Forms.ContentProperty("Actions")]
public sealed class EventTrigger : Xamarin.Forms.TriggerBase
type EventTrigger = class
    inherit TriggerBase
Inheritance
System.Object
EventTrigger
Attributes

Remarks

The example below shows how developers can use an event trigger to respond to events and update the value of a control property.

With the ColorTriggerAction class below defined in the TriggerDemo namespace:

public class ColorTriggerAction : TriggerAction<Entry>
{
  protected override void Invoke(Entry sender)
  {
      Color[] color ={ Color.Red,
                       Color.Orange,
                       Color.Yellow,
                       Color.Green,
                       Color.Blue,
                       Color.Indigo,
                       Color.Violet };
      sender.TextColor = color[sender.Text.Length % color.Length];
  }
}

the developer can use the XAML below to create a page that cycles the colors of a Entry text area through the colors of the rainbow as the user enters text.

<?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="Do you see colors?"
             VerticalOptions="Center"
             HorizontalOptions="Center" />
<Entry Placeholder="Type stuff here."
             VerticalOptions="Center"
             HorizontalOptions="Center"
             BackgroundColor="Black">
<Entry.Triggers>
<EventTrigger Event="TextChanged" >
<local:ColorTriggerAction />
</EventTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

Constructors

EventTrigger()

Creates a new EventTrigger instance.

Properties

Actions

Gets the list of TriggerAction objects that will be invoked when the event that is identified by the Event property is raised.

BindingContext

Gets or sets object that contains the properties that will be targeted by the bound properties that belong to this BindableObject.

(Inherited from BindableObject)
Dispatcher (Inherited from BindableObject)
EnterActions

Gets the list of TriggerAction objects that will be invoked when the trigger condition is met. Ignored for the EventTrigger class.

(Inherited from TriggerBase)
Event

Gets or sets the name of the event that will cause the actions that are contained in the Actions to be invoked.

ExitActions

Gets the list of TriggerAction objects that will be invoked after the trigger condition is no longer met. Ignored for the EventTrigger class.

(Inherited from TriggerBase)
IsSealed

Gets a value that indicates whether or not the trigger is sealed.

(Inherited from TriggerBase)
TargetType

The type of object to which this TriggerBase object can be attached.

(Inherited from TriggerBase)

Methods

ApplyBindings()

Apply the bindings to BindingContext.

(Inherited from BindableObject)
ClearValue(BindableProperty)

Clears any value set by SetValue for property.

(Inherited from BindableObject)
ClearValue(BindablePropertyKey)

Clears any value set by SetValue for the property that is identified by propertyKey.

(Inherited from BindableObject)
CoerceValue(BindableProperty) (Inherited from BindableObject)
CoerceValue(BindablePropertyKey) (Inherited from BindableObject)
GetValue(BindableProperty)

Returns the value that is contained in the BindableProperty.

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

For internal use by the Xamarin.Forms platform.

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

For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
IsSet(BindableProperty)

Returns true if the target property exists and has been set.

(Inherited from BindableObject)
OnBindingContextChanged()

Override this method to execute an action when the BindingContext changes.

(Inherited from BindableObject)
OnPropertyChanged(String)

Call this method from a child class to notify that a change happened on a property.

(Inherited from BindableObject)
OnPropertyChanging(String)

Call this method from a child class to notify that a change is going to happen on a property.

(Inherited from BindableObject)
RemoveBinding(BindableProperty)

Removes a previously set binding.

(Inherited from BindableObject)
SetBinding(BindableProperty, BindingBase)

Assigns a binding to a property.

(Inherited from BindableObject)
SetValue(BindableProperty, Object)

Sets the value of the specified property.

(Inherited from BindableObject)
SetValue(BindablePropertyKey, Object)

Sets the value of the propertyKey.

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

For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)
UnapplyBindings()

Unapplies all previously set bindings.

(Inherited from BindableObject)

Events

BindingContextChanged

Raised whenever the BindingContext property changes.

(Inherited from BindableObject)
PropertyChanged

Raised when a property has changed.

(Inherited from BindableObject)
PropertyChanging

Raised when a property is about to change.

(Inherited from BindableObject)

Explicit Interface Implementations

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

For internal use by the Xamarin.Forms platform.

(Inherited from BindableObject)

Extension Methods

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)
SetAppThemeColor(BindableObject, BindableProperty, Color, Color)
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Creates and applies a binding to a property.

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

Creates and applies a binding from an expression.

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

Applies to

See also