0

我正在开发一个简单的 WPF 应用程序,我想在其中对特定文本字段使用文本更改方法。问题是我实现了该方法,但是该方法在很短的时间内被触发,就像我输入一个字符之后一样。我想检查文本更改是否完成,以便使用文本更改方法中编写的方法。

private void searchBox_TextChanged(object sender, TextChangedEventArgs e)
{
    if (...) // how to check whether the typing is finished?
    {
        // code goes here
    }
}
4

3 回答 3

2

我想你需要这个LostFocus活动。正如@SLaks 评论所说,您无法预测用户是否会按下另一个键。或者,您可以对控件进行数据绑定 - 取决于您实际尝试执行的操作,这可能更有意义。

于 2012-09-16T13:51:47.203 回答
0

而不是TextChanged,尝试监视LostFocus事件,当用户离开文本框时,将触发该事件,方法是按 Enter/Tab 或单击表单上的其他位置。

于 2012-09-16T13:51:39.113 回答
0

同意 LostFocus

UIElement.LostFocus 事件

问题不是关于绑定而是要考虑的问题。
在绑定中等效的是 UpdateSourceTrigger="LostFocus"

Binding.UpdateSourceTrigger 属性

通过绑定,您可以进入更高级的验证 UI 效果。

如何:实施绑定验证

于 2012-09-16T14:08:12.903 回答