[英]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一起使用。 这提供了用于更改选项卡的属性和事件。
对于您的特殊情况,您可以使用MouseLeave
和MouseEnter
事件来代替LostFocus
和GotFocus
。 这些事件将触发,而无需用户单击TabItem
内的控件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.