有时候我们可能在Panel(StackPanel、Canvas、Grid)上或者是在一些默认不支持Focus的控件上添加了KeyDown或者KeyUp,可是残酷的现实告诉我们,这是无法触发的,怎么办呢,很简单,只需一句代码。
private void MouseLeftButtonDown(object sender, MouseButtonEventArgs e){Grid1.Focus();}
也就是在鼠标单击事件中,让容器(或者其他控件)调用Focus方法,使其尝试获得焦点。小伙伴们是不是尝试过后发现还是不行,哈哈哈,那是因为还少了一个步骤,在XAML代码中给容器(控件)设置一个属性即可。
<Canvas x:Name="Grid1" Focusable="True" />
哈哈,聪明的骚年是不是踩到了,这样就是让控件支持获得焦点。
好了,本文较短,到此结束。