WPF之无法触发KeyDown或者KeyUp键盘事件

有时候我们可能在Panel(StackPanel、Canvas、Grid)上或者是在一些默认不支持Focus的控件上添加了KeyDown或者KeyUp,可是残酷的现实告诉我们,这是无法触发的,怎么办呢,很简单,只需一句代码。

        private void MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Grid1.Focus();
        }

也就是在鼠标单击事件中,让容器(或者其他控件)调用Focus方法,使其尝试获得焦点。小伙伴们是不是尝试过后发现还是不行,哈哈哈,那是因为还少了一个步骤,在XAML代码中给容器(控件)设置一个属性即可。

 <Canvas x:Name="Grid1" Focusable="True" />

哈哈,聪明的骚年是不是踩到了,这样就是让控件支持获得焦点。

 

 

好了,本文较短,到此结束。

posted @ 2014-03-05 09:18  wangyafei_it  阅读(4613)  评论(0编辑  收藏  举报