我正在做一个uwp应用程序。在这里,我使用的是来自https://github.com/MyToolkit/MyToolkit/wiki/DataGrid的数据网格。现在,在这里,我必须使用使用上下箭头的键盘操作。
我使用了KeyDown事件和selection_changed事件作为第一项,只有键下事件才会触发。然后,当上下箭头键按下时,selection_changed事件就会触发。但是,在选择网格中的行之后,当按下enter键时,我想做一些操作。我使用的代码是:
private void dgsuggestion_KeyDown(object sender, KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Enter)
{
}
}
private void dgsuggestion_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ProductsList res= (ProductsList)((MyToolkit.Controls.DataGrid)sender).SelectedItem;
selectedsku = res;
}`有人能帮我吗..。
发布于 2017-03-23 08:04:08
事件会被系统或控件吸收,因此您必须使用AddHandler手动附加事件。
MyToolkit.Controls.DataGrid myGrid; // this is your grid
// Do this
myGrid.AddHandler(KeyDownEvent, new RoutedEventHandler(dgsuggestion_KeyDown), true);
// Not this
myGrid.KeyDown += dgsuggestion_KeyDown;这里有一个关于它是如何工作的解释。
https://msdn.microsoft.com/en-us/library/ms598899(v=vs.110).aspx
https://stackoverflow.com/questions/42969911
复制相似问题