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

Pav*_*nin 6 wpf user-controls focus

我需要把重点放在UserControl自己身上,而不是它的孩子身上.
否则我无法从缓冲区实现插入.:(
设置Focusable=True没有帮助.谷歌和SO只告诉如何将焦点设置为UserControl孩子.

我的控件包含:
- 工具栏,其中有几个按钮绑定到相应VM的命令
- TextBox,它是过滤器的输入
- DataGrid - 项目列表.

我需要将Ctrl + V命令绑定到VM.但是要处理这个姿势UserControl必须集中精力.如果网格中没有项目(VM的集合为空),则禁用按钮,并且唯一可以获得焦点的元素是TextBox.但它以自己的方式处理Ctrl + V,我不想改变这种行为.
因此,当我单击UserControl区域时,我需要设置焦点.
我相信UserControl是它的最佳候选者.
但我不知道如何让它可以选择.

Pav*_*nin 18

整个问题在于我对控制行为的误解.
这个问题清楚地表明我相信.

因此,设置UserControl.Focusable = true是不够的.要使它可以通过键盘导航也IsTabStop必须true.要通过鼠标点击选择UC,我们应该调用Focus()鼠标eventhandler.而已.