2

c1 マスクされたテキスト ボックス内でいくつかのカスタム検証を実行しようとしていますが、検証は OnLostFocus() で発生する必要があります。問題は、OnLostFocus() 内から Focus() を呼び出すと、コントロールが再びフォーカスを失ったり取得したりして、無限ループになることです。どんな助け/提案も素晴らしいでしょう!

前もって感謝します!!!

以下は基本的に私が持っているものの背後にあるコードです:

    protected override void OnLostFocus(RoutedEventArgs e)
    {

        if (!CheckAndRunValidator())
        {
            Focus();
            SelectAll();

            return;
        }

        base.OnLostFocus(e);

    }
4

1 に答える 1

1

あなたは試すことができます

Dispatcher.BeginInvoke( () => Focus() );

それがうまくいかない場合はDispatcherTimer、a を shortで使用してみて、イベントIntervalにフォーカスを合わせます。Tick

于 2012-08-01T15:55:45.657 に答える