1
我有一个WPF DataGrid与少数列。现在我尝试将快捷键“Shift + $”添加到DataGrid列之一中。我想要实现的是,当用户在partipular列上,然后按下“Shift + $”,它会触发命令。如果其他列上的用户“Shift + $”用作正常输入。如何将添加键绑定到DataGrid列级别?
任何人都可以给我一些想法,我怎么能做到这一点?
感谢
京
我有一个WPF DataGrid与少数列。现在我尝试将快捷键“Shift + $”添加到DataGrid列之一中。我想要实现的是,当用户在partipular列上,然后按下“Shift + $”,它会触发命令。如果其他列上的用户“Shift + $”用作正常输入。如何将添加键绑定到DataGrid列级别?
任何人都可以给我一些想法,我怎么能做到这一点?
感谢
京
选项是有点限制与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)));
}
不幸的是,这将引发一个异常告诉你Shift + D4不被KeyGesture支持。我认为你的计划可能无法解决......
嗨,感谢您的回复。还试过Shift + D4,它不受支持。你说的是有没有解决我的问题? – Jing 2011-05-10 01:47:40
我不知道,虽然看起来不像...... – 2011-05-10 09:05:38
@ H.B。我也有类似的问题。我在DataGridColumnHeader中有一个文本框,并且希望当我按下该文本框上的Enter键时可以触发一个命令。那可能吗?我试过这个答案:http://stackoverflow.com/a/12943306/2284240,但我没有那么幸运。我的意思是我把'kb => kb.Key == e.Key && .........'改成了'kb => kb.Key == Key.Enter'。在应用上述更改后,当我按下箭头键等任何键时,该命令也会触发。我可以限制,只有输入密钥? – Vishal 2015-04-06 00:35:44