我只想让TabItem的标题发送一个事件。如何仅使tabitem的标题响应鼠标事件
到目前为止,我有我的XAML ...
<TabControl>
<TabItem Header="tab 1">
Any text
</TabItem>
<TabItem Header="tab 2">
<TextBox>blah</TextBox>
</TabItem>
<TabControl.Resources>
<Style TargetType="TabItem">
<EventSetter Event="MouseDoubleClick" Handler="TabItemMouseDoubleClick"/>
</Style>
</TabControl.Resources>
</TabControl>
...和我的事件处理程序...
void TabItemMouseDoubleClick(object sender, MouseButtonEventArgs e)
{}
现在,当双击标签项头事件触发时,当点击标签项目内容区域时,它不会触发(这是我想要的),但是当我在TabItem中放置一个文本框时,事件在双击文本框时触发。我试图只获取TabItem的头部来引发事件 - 任何想法?
源始终显示为TabItem,不管点击的区域如何。有效点击的原始来源各不相同,它可以是System.Windows.Documents.Run或System.Windows.Controls.Border等,具体取决于所点击的标题区域。 我可以检查所有这些类型,但我希望尽可能使用更清洁的解决方案。 我应该将模板放入标题吗? – Will 2010-07-01 10:40:10