gpt4 book ai didi

wpf - 如何在 ContentPresenter 更改时将键盘焦点设置为内容?

转载 作者:行者123 更新时间:2023-12-04 13:49:45 28 4
gpt4 key购买 nike

我的 View 中有一个 ContentControl,它数据绑定(bind)到我的 View 模型的 CurrentItem 属性。通过 CurrentItem 公开的对象每个都有自己的 DataTemplate。

当 CurrentItem 属性更改时,将显示该项目的相应 DataTemplate,就像它应该显示的那样。但是,我找不到将键盘焦点设置为 DataTemplate 内容的方法。

即使我手动将键盘焦点设置为 DataTemplate,如果 CurrentItem 属性更改(并且实例化了新模板),焦点也会丢失(FocusManager.GetFocusedElement 返回 null)。

如何在 ContentPresenter 更改时将键盘焦点设置为内容?

最佳答案

相信你可以使用LayoutUpdated ContentControl 或 ContentPresenter 上的事件。这应该在 Content/ContentTemplate/etc 发生变化时触发。

或者,您可以从 ContentControl 派生一个类,然后覆盖 OnContentChanged , OnContentTemplateChanged等方法。然后你需要向下搜索可视化树并设置焦点。您可能需要使用 Dispatcher 来延迟焦点设置代码。

关于wpf - 如何在 ContentPresenter 更改时将键盘焦点设置为内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3407002/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com