0

我有一个从 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?)我做错了什么?

4

1 回答 1

0

您可以在此处找到修改后的EventToCommand实现 - 基于 Galasofts 的实现 - 您可以在其中设置EventargsasCommandParameter和 stop 事件路由。

于 2012-09-11T08:52:06.390 回答