我有一个其中包含许多行的DataGrid。我想捕获一个或多个键盘键,并根据所按的键执行相应的代码。我希望用户能够执行CTRL-D来删除行或按DELETE键。我还需要将DataGrid元素作为参数传递给所调用的代码。这是我在XAML中所做的事情。
<i:EventTrigger EventName="PreviewKeyDown">
<i:InvokeCommandAction Command="{Binding DataContext.TargetFieldsKeyDownCommand,
RelativeSource={RelativeSource AncestorType={x:Type vw:MappingDataView}}}" >
<i:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource KeyPressConverter}">
<Binding Source="Delete" />
<Binding ElementName="dtTDGrid" />
</MultiBinding>
</i:InvokeCommandAction.CommandParameter>
</i:InvokeCommandAction>
</i:EventTrigger>
我想用实际的按键替换它,<Binding Source="Delete" />
。是否可以在XAML中使用“交互性”来执行此操作,还是需要以不同的方式处理按下的键?是否有人提供我正在尝试做的事的示例?
使用交互的多重绑定是我发现的所有将2个或更多命令参数传递给被调用事件的方法。如果有在传递多个参数的同时调用事件处理程序的更好方法,请告诉我。
我使用了@ mm8建议。现在,它可以按我的意愿运行。