Hikari
Hikari

Reputation: 599

Xamarin EventTrigger c# code

I have this trigger in my XAML page:

<Entry.Triggers>
   <EventTrigger Event="TextChanged">
     <core:NumericValidationTrigger />
   </EventTrigger>
</Entry.Triggers>

How can I do the same thing in C# code? I'm done this:

EventTrigger ETrigger = new EventTrigger {
    Event = "TextChanged"
 };
 Triggers.Add(ETrigger);

But how can I attach to ETrigger to run NumericValidationTrigger?

Thank you.

Upvotes: 1

Views: 370

Answers (1)

ColeX
ColeX

Reputation: 14475

Just add it to the Actions of EventTrigger.

public class NumericValidationTriggerAction : TriggerAction<Entry>
{
    protected override void Invoke(Entry entry)
    {
        double result;
        bool isValid = Double.TryParse(entry.Text, out result);
        entry.BackgroundColor =
              isValid ? Color.Default : Color.Red;
    }
}

EventTrigger ETrigger = new EventTrigger
{
    Event = "TextChanged"
};
ETrigger.Actions.Add(new NumericValidationTriggerAction());
entry.Triggers.Add(ETrigger);

Upvotes: 2

Related Questions