为什么我的 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 上设置绑定。这在架构方面可能很棘手。因为如果你加载不同的页面,如果页面依赖,你必须加载和卸载该事件。
希望对您有所帮助。
我试过这个:
<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 上设置绑定。这在架构方面可能很棘手。因为如果你加载不同的页面,如果页面依赖,你必须加载和卸载该事件。
希望对您有所帮助。