【发布时间】:2014-09-30 22:52:01
【问题描述】:
我想捕获 TabItem 选择更改事件,即仅当用户更改选项卡时才会调用 ViewModel 命令。我现在有这个,该命令被成功调用,但是更改的选择正在沿着可视树向下传输,因此更改的选择会在整个选项卡项中被捕获,而不仅仅是在用户更改选项卡时。有没有办法将触发器限制为仅选项卡更改?:
<TabControl Margin="10">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding CollapsedExpanderCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TabItem Header="Account" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
【问题讨论】:
-
我认为您必须传递事件参数并设置处理的属性。其他选项可能是尝试在 selectionchanged 后面的代码中设置 e.handled = true 并查看该命令是否也被触发。