为什么我的 WPF 键绑定到导航命令不起作用?

Why is my WPF key binding to a navigation command not working?

我试过这个:

<Page.InputBindings>
    <KeyBinding Command="{Binding NavigationCommands.BrowseBack}" Key="Esc"/>
</Page.InputBindings>

还有这个:

<Page.InputBindings>
    <KeyBinding Command="NavigationCommands.BrowseBack" Key="Esc"/>
</Page.InputBindings>

但是当我按退出键时,导航仍然没有返回。如何使此键绑定起作用?

很有可能是因为页面没有聚焦。我猜你在一个框架中加载页面。要检查它是否正常工作,请单击页面中的任意位置并按 esc。

我知道的可能的解决方案是: 1) 在页面加载时使用焦点管理器在页面中设置焦点(而不是将焦点放在 window)

2) 不在页面上而是在window 上设置绑定。这在架构方面可能很棘手。因为如果你加载不同的页面,如果页面依赖,你必须加载和卸载该事件。

希望对您有所帮助。