Установка фокуса в событии OnLostFocus C# silverlight один замаскированный текстовое поле

Я пытаюсь выполнить некоторую пользовательскую проверку внутри текстового поля с маской c1, и проверка должна произойти OnLostFocus(). Проблема в том, что когда я вызываю Focus () из OnLostFocus(), это приводит к тому, что элемент управления снова теряет / получает фокус, что является бесконечным циклом. Любая помощь / предложения будут великолепны!

заранее спасибо!!!

ниже в основном код позади того, что у меня есть:

    protected override void OnLostFocus(RoutedEventArgs e)
    {

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

            return;
        }

        base.OnLostFocus(e);

    }

1 ответ

Вы могли бы попробовать

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

Если это не работает, попробуйте использовать DispatcherTimer с коротким Interval и сосредоточиться на Tick событие.

Другие вопросы по тегам