2016-01-05 132 views
4

我在我的應用程序的面板中有一個自定義類似TreeView的控件。當你點擊物品時,他們會收到鍵盤焦點。焦點WPF元素被刪除時,鍵盤焦點在哪裏?

可以在樹中選擇一組項目並通過按下Ctrl-X或Delete來剪切或刪除它們。當樹項目被移除時,鍵盤焦點恢復到主窗口。

這會導致麻煩 - 如果我撤消剪切,我會返回元素,但鍵盤焦點不再位於面板上,因此我不能(例如)剪切撤消剪切撤消剪切。

什麼決定了當元素被移除時鍵盤焦點移動的位置?我很快嘗試讓我的面板具有IsFocusScope =「True」,但這似乎沒有任何效果,並且Focus Overview沒有提及如何控制當元素被移除時焦點的位置。

回答

0

我想你最好的選擇可能會撤銷/重做後手動設置焦點(其中監聽FocusManager發送事件的行爲也許這個包裹?)

參見Set focus on textbox in WPF