gpt4 book ai didi

c# - TextBox LostFocus 事件发生得太频繁

转载 作者:行者123 更新时间:2023-11-30 18:40:14 26 4
gpt4 key购买 nike

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

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

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

现在,(1) 我单击其中一个文本框,(2) 然后单击 RibbonButton,OnLostFocus 引发,然后出现 RibbonButton 下拉菜单。一切正常。

之后,(3) 我单击另一个 RibbonButton。 OnLostFocus 再次加注,尽管 - 恕我直言 - 它不应该。

就这样一直持续下去。在每次操作后,TextBox 保持(或返回,不知道)焦点,这会导致 OnLostFocus-Handler 引发。

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

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

提前致谢。

最佳答案

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

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

关于c# - TextBox LostFocus 事件发生得太频繁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com