我在 WPF 窗口中有一个框架。如果我单击页面上的后退按钮,我可以轻松地进行一些检查并调用 Frame.GoBack()。但是,如果我单击键盘或遥控器上的退格键或特殊的后退键,则 Frame 在此调用冒泡到主窗口之前会拦截此调用,因此我的代码不会运行。
有没有办法阻止 wpf 框架收听 NavigationCommands.BrowseBack?
我设法通过加倍 CommandBindings 解决了这个问题。我现在有由窗口和框架处理的事件。将 CommandBinding 添加到框架似乎已经覆盖了框架本机所做的任何事情。
<Frame x:Name="MainFrame" NavigationUIVisibility="Hidden" Focusable="False">
<Frame.CommandBindings>
<CommandBinding Command="NavigationCommands.BrowseBack" Executed="CommandBinding_Executed_BrowseBack"/>
</Frame.CommandBindings>
</Frame>