WPF页面上回格键(BackSpace)跳转到上一个页面的问题

原因暂时未找到。

有以下几个解决方案:

1、在发生该问题的控件上添加Handler,然后添加方法捕捉

示例:在Page的Constructor中:this.AddHandler(DataGrid.PreviewKeyDownEvent, new RoutedEventHandler(Page_PreviewKeyDown));

 处理方法        

private void Page_PreviewKeyDown(object sender, RoutedEventArgs e)
{

if (e.OriginalSource.GetType().Name == typeof(DataGridCell).Name || e.OriginalSource.GetType().Name == typeof(DataGrid).Name)
{
e.Handled = true;
}
}

这个可以放在全局的窗体上去做
2、与上面类似,在wpf控件本身添加KeyDown方法
  <Grid KeyDown="Grid_KeyDown">

private void Grid_KeyDown(object sender, KeyEventArgs e)
{
                if (e.Key == Key.Back)
            {
                e.Handled = true;
            }
}

猜你喜欢

转载自www.cnblogs.com/xbj-hyml/p/10919684.html