Reputation: 599
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
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