gpt4 book ai didi

wpf - 在 UserControl 中定义 KeyBindings,但它们是否适用于整个窗口?

转载 作者:行者123 更新时间:2023-12-04 20:47:48 25 4
gpt4 key购买 nike

无论当前焦点在哪里,我都希望在应用程序范围内使用许多键盘快捷键。

目前我已经将那些定义为 <Window.InputBindings>在我的主窗口的 XAML 中。
一切都很好,但是...
Ribbon 被封装为一个单独的 UserControl,所有快捷方式自然都与该 Ribbon 中的按钮相关。
因此,我真的不喜欢让 2 个应用程序逻辑处理分布在 2 个类中的相同功能的味道。

理想情况下,我想将 KeyBindings 定义为 <Window.InputBindings> ,但在 UserControl 中,而不是在窗口中。显然,这不能用 XAML 语法来完成,而只能用 <UserControl.InputBindings> - 唉,只有当焦点在功能区上时才会使它们可用(这意味着从不)。

有什么建议?

谢谢,
亚历克斯

最佳答案

在您的控件的构造函数或其 Loaded() 事件处理程序中,让它找到它所在的窗口(递归使用 VisualTreeHelper.GetParent(this) 直到 GetType 是 Window...),然后添加您想要的 InputBindings window 。

关于wpf - 在 UserControl 中定义 KeyBindings,但它们是否适用于整个窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8282215/

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