我有一个文本框,其文本值绑定到模型。文本框有一个KeyUp事件。这是xaml
<TextBox Text="{Binding VisitorTeamStats.Fouls}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeCommandAction Command="{Binding VisitorFoulsKeyUpCmd}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
一切都正确接线。这是发生了什么。启动应用程序时,文本框的初始值为0。当我输入新数字(例如8)时,OnCommand方法将0登记为模型中文本框的键值。当我在文本框中输入另一个数字(例如9)时,键盘会触发,并且模型中文本框的键值现在为8。
因此,keyup事件在VisitorTeamStats.Fouls更新的绑定值之前触发。如何键入绑定值以首先更新,否则如何将值从文本框中传递到keyup事件中。
谢谢。
答案 0 :(得分:1)
我认为您的问题是触发更新。试试下面的代码,看看会发生什么:
<TextBox Text="{Binding VisitorTeamStats.Fouls, UpdateSourceTrigger=PropertyChanged}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeCommandAction Command="{Binding VisitorFoulsKeyUpCmd}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>