我希望从Popup控件接收键盘输入,该控件充当触摸屏键盘控件的根视觉效果。我希望控件支持键盘输入和触摸屏输入。我挂钩事件(PreviewKeyDown和KeyDown),它们永远不会被触发。
答案 0 :(得分:1)
默认情况下,Popup
不可聚焦,即使它是可聚焦的,您也必须在弹出窗口上关注其他内容,然后将其聚焦或给予焦点以使其接收键盘事件。
换句话说,如果你想要Popup
使用Focusable="True"
的键盘事件,并设置一个可调焦的控件,如TextBox
或Button
或{{1}然后让用户通过点击它或者从代码手动使用ListBox
给它焦点。如果您执行了所有这些操作,则应Focus()
触发PreviewKeyDown
。
这是一个带有切换按钮的小型演示程序,可以打开Popup
,只要我们在Popup
上收到PreviewKeyDown
事件,就会显示一个滑块增加:
Popup