创建弹出窗口,但无法按 Tab 键转到背景元素
本文关键字:Tab 元素 背景 窗口 创建 | 更新日期: 2023-09-27 17:57:16
我正在尝试创建一个弹出窗口,但是当它打开时,仍然可以使用 Tab 键将焦点切换到背景中的元素(例如,切换到按钮并使用空格按下是)。到目前为止,我发现的唯一方法是检查每个 lostFocus 事件(也会为 Border 元素中包含的每个元素触发),并检查焦点现在是否位于 Border 内的元素中。如果没有,我手动设置焦点。有没有更好的方法将焦点保持在边框(或网格,...内)
我正在开发一个Windows 8应用程序。
您的意思是将模式对话框与 Form.ShowDialog(Owner)
一起使用仍然允许您使用 Tab 聚焦父组件?
你能给出一个代码调用的示例吗?
Form2 form = new Form2(); //Make an instantiation of your Form
form.ShowDialog(); //ShowDialog()!!! NOT form.Show()!!! Or anything else :/
一些想法:
- 将
Enabled
设置为在背景可视化树上False
,但如果仍想部分显示它们,这可能会改变外观 - 将
IsHitTestVisible
设置为False
以禁用指针输入 - 如果面向 Windows 8.1,请使用
RenderTargetBitmap.Render()
将背景内容呈现为图像,只需将所有可视化树替换为图像