Tag: 箭头键

如何通过箭头键禁用焦点更改

我有一个WPF窗口,其中包含一些控件(按钮,组框等)和一个Border内的一个大Viewport3D 。 视口显示3D场景,我希望箭头键移动其相机。 问题:箭头键总是将焦点更改为另一个UIElement 。 如何通过箭头键禁用焦点更改并让它们改变相机位置?

箭头键事件未到达

基本上,我有一个带有自定义控件的表单(没有别的)。 自定义控件完全为空,表单将KeyPreview设置为true。 使用此设置,我没有收到任何箭头键或Tab的任何KeyDown事件。 我键盘上的其他每个键都有效。 我有KeyDown事件处理程序连接到有这些事件的所有事情,所以我敢肯定我没有遗漏任何东西。 另外值得注意的是,如果我删除(完全空)自定义控件,我会得到箭头键事件。 到底是怎么回事? 编辑: 我将此添加到窗体和控件中,但我仍然没有获得箭头键: protected override void WndProc(ref Message m) { switch (m.Msg) { case 0x100: //WM_KEYDOWN //this is the control’s version. In the form, it’s this.Text ParentForm.Text = ((Keys)m.WParam).ToString(); break; } base.WndProc(ref m); } 我还检查了Spy ++,并确定表单本身没有得到任何WM_KEYDOWN消息,它们都是控件。 但是,那就是说,控件IS得到了箭头键WM_KEYDOWN消息。 叹。 编辑2:我还使用此版本更新了ZIP文件。 请看看,如果你想帮忙…… 编辑3: 我已经想到了这一点。 表格正在吃箭头键,可能是为了保持孩子们的注意力。 事实certificate,如果表格为空,我会收到事件。 无论如何,如果我将此代码添加到表单中,我会再次开始获取事件: public override bool PreProcessMessage(ref […]