假设tab1
和tab2
为两个标签项,当前有效标签为tab1
。 SelectedIndex
只有在SelectedIndex发生更改时才会调用属性集。我想要一个甚至在当前活动的选项卡上执行的。 MouseDown
事件不适用于标签项。
还有其他解决方案吗?
答案 0 :(得分:0)
我建议你制作一个Tab HeaderTemplate来处理点击。请看下面的示例代码:
<Window.Resources>
<DataTemplate x:Key="myTabHeaderTemplate">
<!-- Handle click here -->
<Grid MouseDown="TabControl_MouseDown">
<TextBlock Text="{Binding}" Margin="5" />
</Grid>
</DataTemplate>
</Window.Resources>
<TabControl
Background="WhiteSmoke"
SelectedItem="{Binding CurrentTab}">
<TabItem Header="tab 1" Background="LightPink" HeaderTemplate="{StaticResource myTabHeaderTemplate}" />
<TabItem Header="tab 2" Background="LightGreen" HeaderTemplate="{StaticResource myTabHeaderTemplate}" />
</TabControl>
您必须在后面的代码中实现此方法:
private void TabControl_MouseDown(object sender, MouseButtonEventArgs e){ ... }
或者您可以将其绑定到ViewModel中的命令...