如何将焦点设置到 UserControl(使其可选择)?

2023-11-26

我需要将焦点放在UserControl它本身,而不是它的孩子。
否则我无法实现从缓冲区的插入。 :(
环境Focusable=True没有帮助。 Google 和 SO 仅告诉您如何将焦点设置到 UserControl 子级。

我的控件包含:
- 工具栏上有多个按钮绑定到相应的命令 虚拟机
- TextBox是过滤器的输入
- DataGrid - 项目列表。

我需要将 Ctrl+V 命令绑定到虚拟机。但要处理这个手势UserControl必须有重点。当网格中没有项目时(虚拟机的集合为空)按钮将被禁用,唯一可以获得焦点的元素是TextBox。但它以自己的方式处理 Ctrl+V,我不想改变这种行为。
因此,当我单击 UserControl 区域时,我需要一些东西来设置焦点。
我相信 UserControl 是最好的选择。
但我不知道如何使其可选择。


整个问题在于我对控件行为的误解。
This 那么问题清楚地表明了这一点,我相信。

因此,设置UserControl.Focusable = true还不够。使其可通过键盘导航IsTabStop必须是true还。为了让 UC 可以通过鼠标点击来选择,我们应该调用Focus()在鼠标事件处理程序中。就是这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将焦点设置到 UserControl(使其可选择)? 的相关文章

随机推荐