2017-12-15 5 views
0

私は私のXAMLページで、このトリガーを持っている:Xamarin EventTriggerのC#コード

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

にはどうすればC#コードで同じことを行うことができますか? 私はこの終わりだ:

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

をしかし、どのように、私はNumericValidationTriggerを実行するためにETriggerに添付することができますか?

ありがとうございます。

答えて

1

EventTriggerのActionsに追加するだけです。

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); 
+0

ありがとうございます! これは機能します! – Hikari