在WPF框架中手动处理NavigationCommands.BrowseBack

时间:2012-11-28 15:37:09

标签: c# .net wpf

我在WPF窗口中有一个框架。如果我单击页面上的后退按钮,我可以轻松地进行一些检查并调用Frame.GoBack()。但是,如果我单击键盘或遥控器上的退格键或特殊后退键,则帧会在它冒泡到主窗口之前拦截此调用,因此我的代码不会运行。

有没有办法阻止wpf帧收听NavigationCommands.BrowseBack?

1 个答案:

答案 0 :(得分:0)

我设法通过加倍CommandBindings来解决问题。我现在让事件由Window和Frame处理。将CommandBinding添加到框架似乎已覆盖框架本机执行的任何内容

<Frame x:Name="MainFrame" NavigationUIVisibility="Hidden" Focusable="False">
    <Frame.CommandBindings>
        <CommandBinding Command="NavigationCommands.BrowseBack" Executed="CommandBinding_Executed_BrowseBack"/>
    </Frame.CommandBindings>
</Frame>