0

我正在开发一个 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;
        }`

谁能帮我..

4

1 回答 1

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

于 2017-03-23T08:04:08.933 回答