我试图在c1屏蔽的文本框中执行一些自定义验证,验证必须在LostFocus()上进行。问题是,当im从OnLostFocus()中调用Focus(()时,它会导致控件再次失去/获得焦点,这是无限循环。任何帮助/建议都会很棒!
提前感谢!!!
下面基本上是我所拥有的代码:
protected override void OnLostFocus(RoutedEventArgs e)
{
if (!CheckAndRunValidator())
{
Focus();
SelectAll();
return;
}
base.OnLostFocus(e);
}
您可以尝试
Dispatcher.BeginInvoke( () => Focus() );
如果不起作用,请尝试使用带有短Interval
的DispatcherTimer
,并在Tick
事件中进行焦点处理。