我正在开发一个uwp应用。我在这里使用https://github.com/MyToolkit/MyToolkit/wiki/DataGrid的数据网格。现在,我必须使用向上和向下箭头键盘操作。
我已经使用KeyDown事件和selection_changed事件为第一项只有keydown事件被触发。然后当按下向上和向下箭头键时,selection_changed事件被触发。 但是我想在网格中选择一行后输入按键时执行一些操作。 我使用的代码是:`
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;
}`
任何人都可以帮助我..
答案 0 :(得分:0)
事件会被系统或控件吸收,因此您必须使用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