我有一个在Silverlight和WPF中的应用程序。错误只发生在Silverlight中,但相同的代码在WPF中也被使用。
我的应用程序中有一个RibbonBar,其中包含多个RibbonGroups。在每个RibbonGroup中至少有一个RibbonButton。其中一个RibbonGroups还包含四个TextBox。
每个TextBox都有自己的OnLostFocus-Handler。当我离开一个TextBox时,相关的Handler就会被触发。
现在,(1)我点击其中一个TextBox,然后(2)点击一个RibbonButton,OnLostFocus被触发,之后RibbonButton下拉菜单出现。一切正常。
之后,(3)我点击另一个RibbonButton。再次触发OnLostFocus,尽管-在我看来-它不应该。
这样就一直持续下去。每次操作后,TextBox保持(或恢复,不知道)焦点,这会导致OnLostFocus-Handler被触发。
在WPF中,相同的代码不会再次触发OnLostFocus。只有在真正失去焦点时才会触发一次。
有人知道为什么Silverlight的行为如此奇怪吗?到底与WPF有何不同,也许我只需要设置一个默认值与WPF不同的属性。
提前感谢。
我的应用程序中有一个RibbonBar,其中包含多个RibbonGroups。在每个RibbonGroup中至少有一个RibbonButton。其中一个RibbonGroups还包含四个TextBox。
每个TextBox都有自己的OnLostFocus-Handler。当我离开一个TextBox时,相关的Handler就会被触发。
现在,(1)我点击其中一个TextBox,然后(2)点击一个RibbonButton,OnLostFocus被触发,之后RibbonButton下拉菜单出现。一切正常。
之后,(3)我点击另一个RibbonButton。再次触发OnLostFocus,尽管-在我看来-它不应该。
这样就一直持续下去。每次操作后,TextBox保持(或恢复,不知道)焦点,这会导致OnLostFocus-Handler被触发。
在WPF中,相同的代码不会再次触发OnLostFocus。只有在真正失去焦点时才会触发一次。
有人知道为什么Silverlight的行为如此奇怪吗?到底与WPF有何不同,也许我只需要设置一个默认值与WPF不同的属性。
提前感谢。