0

特定のテキスト フィールドに対してテキスト変更メソッドを使用する単純な WPF アプリケーションを開発しています。問題はメソッドを実装したことですが、1文字入力した後でも、メソッドは非常に短い期間で起動されます。テキスト変更メソッドに書かれているメソッドを実行するために、テキスト変更が完了しているかどうかを確認したい。

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

の代わりに、 Enter/Tab キーを押すか、フォームの別の場所をクリックして、ユーザーがテキスト ボックスを離れたときに発生するイベントをTextChanged監視してみてください。LostFocus

于 2012-09-16T13:51:39.113 に答える
0

ロストフォーカスに同意する

UIElement.LostFocus イベント

質問は拘束力についてではなく、考慮すべきことです。
バインディングでは、同等のものは UpdateSourceTrigger="LostFocus" です。

Binding.UpdateSourceTrigger プロパティ

バインディングを使用すると、より高度な検証 UI 効果を利用できます。

方法: バインディング検証を実装する

于 2012-09-16T14:08:12.903 に答える