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带有 short的 aInterval并将焦点放在Tick事件中。

于 2012-08-01T15:55:45.657 回答