【发布时间】:2014-09-27 13:47:45
【问题描述】:
我有一个Textbox,它有一个KeyDown 事件。此事件与 ViewModel 中的事件处理程序绑定。下面是示例代码:
<TextBox x:Name="textBox" Text="{Binding TextBoxText, UpdateSourceTrigger=PropertyChanged}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyDown">
<cmd:EventToCommand Command="{Binding Path=TextBoxKeyDownEvent}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TextBox.InputBindings>
确实,一旦用户开始在 texbox 中写入,ViewModel 中的后端事件处理程序就会被调用。但我不想为每个 KeyDown 操作调用事件处理程序。当用户开始在文本框中输入并停止至少 N 毫秒时,我想调用事件处理程序。这意味着我需要为事件设置一个延迟计时器。谁能指导我如何在 MVVM 中实现这一目标?
【问题讨论】: