我在一个列标题中使用ContextMenu创建WPF DataGrid,如下所示:
<DataGrid x:Name="grid" ItemsSource="{Binding Path=Orders}">
<DataGrid.InputBindings>
<KeyBinding Command="{Binding Path=ShowStatusHeaderContextMenuCommand}"
CommandParameter="{Binding ElementName=FristNameContextMenu}"
Gesture="Ctrl+S" />
</DataGrid.InputBindings>
<DataGrid.Columns>
<DataGridTemplateColumn Width="30" Header="Status">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock x:Name="StatusHeaderTextBlock" Text="Status">
<TextBlock.ContextMenu>
<ContextMenu x:Name="FristNameContextMenu">
<MenuItem Command="{Binding SetCompleteFlagsCommand}" Header="Complete"/>
<MenuItem Command="{Binding ClearDeleteFlagsCommand}" Header="Deleted" />
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Width="100"
Header="Order Number"
Binding = "{Binding Path=OrderNumber}"/>
<DataGrid.Columns>
</DataGrid>
如果我右键单击Status列标题,它会调出ContextMenu。但我想添加一个快捷键“Control + S”来调出ContextMenu。有谁知道如何添加它?
由于
荆
答案 0 :(得分:1)
创建一个command,打开上下文菜单,并将KeyBinding
与该命令和您的手势添加到控件的InputBindings
,其范围应该应用快捷方式。
(另外:Ctrl+S
按照约定“保存”,我不确定你是否真的想将它用于上下文菜单)