我尝试DelegateCommand
了方法,它执行正确,但我的关键手势不起作用:
public DelegateCommand StageCommand { get; private set; }
...
StageCommand = new DelegateCommand(StageExecuted);
...
private void StageExecuted(object action)
{
System.Console.WriteLine("yay!");
}
和我的上下文菜单的 XAML:
<ContextMenu.InputBindings>
<KeyBinding Command="{Binding PlacementTarget.Tag.StageCommand, RelativeSource={RelativeSource AncestorType=ContextMenu}}"
Gesture="Enter" />
</ContextMenu.InputBindings>
<MenuItem Header="Stage" Command="{Binding PlacementTarget.Tag.StageCommand, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
</MenuItem>
所有这一切都正确执行,但我错过了关键手势,它甚至没有显示它:
这就是我使用上下文菜单的方式:
<DataGrid
ContextMenu="{DynamicResource TestContextMenu}"
Tag="{Binding}">
更新:
Enter
如果我在上下文菜单打开时按下,它将执行。只要附加了上下文菜单的控件具有焦点,我怎样才能使它执行?而且,它仍然不显示手势键。