我有一个包含少量列的WPF DataGrid。现在我尝试将快捷键“Shift + $”添加到DataGrid列之一。我想要实现的是当用户在partipular列上,然后按“Shift + $”,它就会激活命令。如果用户在其他列上,“Shift + $”将作为正常输入。
任何人都可以告诉我如何实现这一目标吗?
由于
荆
答案 0 :(得分:0)
这些选项对datagrid列有点限制,我尝试这样做:
<DataGridTextColumn Binding="{Binding Name}">
<DataGridTextColumn.EditingElementStyle>
<Style>
<EventSetter Event="FrameworkElement.Loaded" Handler="DG_NameColumn_Loaded"/>
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
private void DG_NameColumn_Loaded(object sender, RoutedEventArgs e)
{
var tb = sender as TextBox;
tb.InputBindings.Add(new KeyBinding(Commands.DoStuff, new KeyGesture(Key.D4, ModifierKeys.Shift)));
}
不幸的是,这会抛出异常,告诉您KeyGesture不支持Shift + D4。我认为你的计划无论如何都可能无法解决......