当移除焦点WPF元素时,键盘焦点在哪里?

时间:2016-01-05 20:56:01

标签: c# wpf

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

可以在树中选择一组项目,然后按Ctrl-X或删除剪切或删除它们。删除树项后,键盘焦点将恢复为主窗口。

这会导致麻烦 - 如果我撤消我的剪辑,我会恢复我的元素但键盘焦点不再在我的面板上,所以我不能(例如)去剪切 - 撤消 - 剪切 - 撤消 - 剪切。

什么决定了元素移除后键盘焦点移动的位置?我很快就尝试让我的面板上有IsFocusScope =" True"但这似乎没有任何效果,Focus Overview没有提到如何控制移除元素时焦点的位置。

1 个答案:

答案 0 :(得分:0)

我猜你最好的选择可能是在撤消/重做之后手动设置焦点(可能在侦听事件FocusManager发送的行为中封装它?)

另见Set focus on textbox in WPF