我正在尝试在c1蒙版文本框中执行一些自定义验证,并且验证必须发生在OnLostFocus()上。问题是,当我从OnLostFocus()内部调用Focus()时,它导致控件再次失去/获得焦点,这是无限循环。任何帮助/建议都很棒!

提前致谢!!!

下面基本上是我所拥有的代码:

    protected override void OnLostFocus(RoutedEventArgs e)
    {

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

            return;
        }

        base.OnLostFocus(e);

    }

最佳答案

你可以试试

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


如果这样不起作用,请尝试使用带有短DispatcherTimerInterval并将焦点放在Tick事件中。

关于c# - 从OnLostFocus事件C#Silverlight组件中设置焦点一个蒙版的文本框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11762875/

10-09 05:38