我有一个带有几个TabItem的TabControl。我希望我的一个TabItems充当按钮。当我单击TabItem时,我希望它在我关联的ViewModel中执行命令。我的视图中有以下代码:
<TabItem Header="Manage Users" Visibility="{Binding IsAdmin, Converter={StaticResource VisibilityOfBool}}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<i:InvokeCommandAction Command="{Binding Path=OpenLoginCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TabItem>
OpenLoginCommand是ViewModel中的ICommand。我定义了交互命名空间。我在这里缺少什么?
答案 0 :(得分:2)
尝试PreviewMouseLeftButtonDown
<TabItem Header="Manage Users" Visibility="{Binding IsAdmin, Converter={StaticResource VisibilityOfBool}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseLeftButtonDown">
<i:InvokeCommandAction Command="{Binding Path=OpenLoginCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TabItem>
答案 1 :(得分:1)
尝试使用MouseDown
代替MouseLeftButtonDown
作为引用MSDN,TabItem
控件上不存在后一事件。
如果您的要求仅限于左键,则检查命令中的鼠标状态。