GalaSoft.MvvmLight.EventToCommand <t> args始终为null </t>

时间:2012-09-11 08:36:47

标签: c# wpf mvvm

我有一个派生自MvvmLight.ViewModelBase的基类,还有处理对象选择的额外职责。此类定义了RelayCommand<MouseButtonEventArgs>属性,该属性绑定在View:

        <i:Interaction.Triggers>
            <i:EventTrigger EventName="MouseDown">
                <galaxcmd:EventToCommand Command="{Binding SelectCommand,Mode=OneWay}" PassEventArgsToCommand="True"  />
            </i:EventTrigger>
        </i:Interaction.Triggers>

此视图在包含视图中多次使用,我现在也需要处理mousedowns。我的问题出现了,因为我不希望容器处理mousedown,如果它是由包含的视图处理。我认为PassEventArgsToCommand是我解决这个问题的方法,因为我计划将一个子VM设置为MouseButtonEventArgs.Handled = true。不幸的是,MouseButtonEventArgs参数始终为null。为了以防万一,我也尝试过RoutedEventArgs甚至是EventArgs,但它们也都是null。

我对EventToCommand(或EventTrigger?)做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以找到基于Galasofts的here修改后的EventToCommand实施内容 - 您可以将Eventargs设置为CommandParameter并停止事件路由。