【发布时间】:2011-11-29 22:23:30
【问题描述】:
我在列标题之一中使用 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>
如果我右键单击状态列标题,它会调出 ContextMenu。但我想添加一个快捷键“Control + S”来调出 ContextMenu。有人知道怎么加吗?
谢谢
精
【问题讨论】:
-
您可以收听“KeyboardEvent”,这应该是您的解决方案,在选定位置打开上下文菜单
标签: wpf wpf-controls wpfdatagrid