Wpf 当ContentPresenter的内容发生更改时,如何将键盘焦点设置为该内容?
我的视图中有一个ContentControl,它被数据绑定到我的viewmodel的CurrentItem属性。通过CurrentItem公开的对象都有自己的DataTemplate 当CurrentItem属性更改时,将按原样显示该项的相应DataTemplate。但是,我无法找到将键盘焦点设置为DataTemplate内容的方法 即使我手动将键盘焦点设置为DataTemplate,如果CurrentItem属性更改(并且实例化了新模板),焦点也会丢失(FocusManager.GetFocusedElement返回null) 当ContentPresenter的内容发生更改时,如何将键盘焦点设置为该内容?我相信您可以在ContentControl或ContentPresenter上使用该事件。这应该在内容/ContentTemplate/etc发生更改时触发 或者,您可以从ContentControl派生一个类,然后重写等方法。然后,您需要搜索视觉树并设置焦点。您可能需要使用Dispatcher延迟焦点设置代码Wpf 当ContentPresenter的内容发生更改时,如何将键盘焦点设置为该内容?,wpf,Wpf,我的视图中有一个ContentControl,它被数据绑定到我的viewmodel的CurrentItem属性。通过CurrentItem公开的对象都有自己的DataTemplate 当CurrentItem属性更改时,将按原样显示该项的相应DataTemplate。但是,我无法找到将键盘焦点设置为DataTemplate内容的方法 即使我手动将键盘焦点设置为DataTemplate,如果CurrentItem属性更改(并且实例化了新模板),焦点也会丢失(FocusManager.GetFocu