当焦点所在的WPF元素被移除时,键盘焦点会去哪里?

4

我在应用程序的面板中有一个类似TreeView的自定义控件。当您单击项目时,它们会接收键盘焦点。

可以通过按Ctrl-X或Delete选择树中的一组项并剪切或删除它们。当树形项目被移除时,键盘焦点恢复到主窗口。

这会导致问题 - 如果我撤消我的剪切操作,我会得到我的元素,但键盘焦点不再在我的面板上,所以我无法(例如)进行剪切-撤消-剪切-撤消-剪切等操作。

是什么决定了元素被移除时键盘焦点移动到何处?我尝试让我的面板具有IsFocusScope="True",但似乎没有任何效果,并且焦点概述未提及如何控制元素被移除时焦点的去向。

1个回答

0

我猜你最好的选择可能是在撤销/重做后手动设置焦点(也许将此封装在监听FocusManager发送的事件的行为中?)

另请参见在WPF中将焦点设置为文本框


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接