[英]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.