C# 键控在绑定文本框值更新之前激发

C# 键控在绑定文本框值更新之前激发,c#,xaml,mvvm,C#,Xaml,Mvvm,我有一个文本框,文本值绑定到模型。文本框有一个KeyUp事件。这是xaml <TextBox Text="{Binding VisitorTeamStats.Fouls}"> <i:Interaction.Triggers> <i:EventTrigger EventName="KeyUp"> <i:InvokeCommandAction Command="{Binding VisitorF

我有一个文本框,文本值绑定到模型。文本框有一个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,keyup甚至会启动,我的模型中文本框的boud值现在是8

因此,keyup事件在VisitorTeamStats.Fouls的绑定值更新之前触发。如何键入绑定值以首先更新,或者如何将值从文本框传递到keyup事件中


提前感谢。

我认为您的问题在于触发更新。尝试以下代码,看看会发生什么:

 <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>


在不了解问题背景的情况下,我不确定您为什么需要KeyUp事件?你不能从绑定字段的(在你的例子中是犯规)set方法运行keyup命令吗?我试过了。不起作用。它会比我让它工作的方式更干净。我添加了一个keyup事件来更新值。它在我的计算机上工作。如果我能看到更多你的代码,也许我能帮上忙。它成功了。我去更新我的问题,并意识到这是可行的。第一次尝试时,我没有看到属性发生变化。非常感谢!!!