繁体   English   中英

TextBox LostFocus事件经常发生

[英]TextBox LostFocus event occurs too often

我在Silverlight和WPF中有一个应用程序。 该错误只发生在Silverlight中,但WPF中使用了相同的代码。

在我的应用程序,有一个RibbonBar ,有几个RibbonGroups 在每个RibbonGroup中至少有一个RibbonButton 其中一个RibbonGroups还包含四个TextBox

每个TextBox都有自己的OnLostFocus -Handler。 当我离开TextBox ,会引发相关的Handler。

现在,(1)我点击其中一个TextBoxes和(2)然后点击RibbonButton,OnLostFocus加注,然后出现RibbonButton下拉菜单。 一切还好。

之后,(3)我点击另一个RibbonButton。 再次OnLostFocus加注,虽然 - imho - 它不应该。

所以它一直在继续。 在每次操作之后,TextBox保持(或者返回,不知道)焦点,这会导致OnLostFocus-Handler引发。

在WPF中,相同的代码不会再次引发OnLostFocus。 只有一次,它真的失去了焦点。

有谁知道,为什么这种行为在Silverlight中很奇怪。 与WPF有什么不同,也许我只需设置一个默认值与WPF不同的属性。

提前致谢。

尝试使用OnPreviewLostKeyboardFocus。 OnLostFocus用于逻辑焦点,您可能会因各种原因而丢失。

我不知道确定的原因,但我怀疑你看到的问题可能是因为功能区栏位于FocusScope中。 当你将焦点放在焦点范围内的某些东西上时,你最终得到的东西看起来就像聚焦在一些物体周围。 我不确定这个答案,WPF中的焦点非常复杂。 提交一些代码示例可能会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM