我有一个从 MvvmLight.ViewModelBase 派生的基类,具有处理对象选择的额外职责。这个类定义了一个RelayCommand<MouseButtonEventArgs>
绑定在视图中的属性:
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<galaxcmd:EventToCommand Command="{Binding SelectCommand,Mode=OneWay}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
这个视图在包含视图中多次使用,我现在也需要处理鼠标按下。出现我的问题是因为如果容器由包含的视图处理,我不希望容器处理 mousedown。我认为 PassEventArgsToCommand 是我解决这个问题的方法,因为我计划一个子 VM 来设置MouseButtonEventArgs.Handled = true
. 不幸的是,MouseButtonEventArgs 参数始终为空。以防万一,我还尝试了 RoutedEventArgs 甚至 EventArgs,但它们也都为空。
EventToCommand(或EventTrigger?)我做错了什么?