繁体   English   中英

TabItems的SelectionChanged事件

[英]SelectionChanged event for TabItems

我处于一种情况,当我尝试从一个TabItem切换到另一个TabItem并尝试使用LostFocus()来创建通知时。

实际上,我的每个TabItem都包含TextBlock和上面写的一些数据。 所以我尝试实现这样的切换通知:

    StackPanel sp = new StackPanel() 
    { 
       Orientation = Orientation.Horizontal
    };
    sp.Children.Add(generateTextBlockContaini()); 
    TabItem tbi = new TabItem();
    tbi.Header = sp;
    tbi.LostFocus +=(o,e) =>
     {

         //MesssagePop up 
         MessageBox.Show("Hurrey tabItem changed");
     }; 

出现的问题是:

(1)它工作正常,但是当我切换到另一个TabItem时,我需要在文本块上单击一次以弹出此消息框(因为如果我不单击,则不会设置其焦点)。 有没有办法在Silverlight 5中设置文本块的焦点?

(2)即使设置了它也将无限调用,因为我用文本框替换了textblock,并且使用了Focus()并且它无限调用。

通常,TabItem与TabControls一起使用。 这提供了用于更改选项卡的属性和事件。

Silverlight Tabchanged事件-TabControl

对于您的特殊情况,您可以使用MouseLeaveMouseEnter事件来代替LostFocusGotFocus 这些事件将触发,而无需用户单击TabItem内的控件。

暂无
暂无

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

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