1
我在WPF窗口中有一個框架。如果我點擊頁面上的後退按鈕,我可以輕鬆地進行一些檢查並調用Frame.GoBack()。但是,如果我單擊退格鍵或鍵盤或遙控器上的特殊後退鍵,則幀會在該窗口起泡到主窗口之前攔截此調用,從而導致我的代碼無法運行。在WPF框架中手動導航CommandCommands.BrowseBack
有沒有辦法阻止wpf框架收聽NavigationCommands.BrowseBack?
我在WPF窗口中有一個框架。如果我點擊頁面上的後退按鈕,我可以輕鬆地進行一些檢查並調用Frame.GoBack()。但是,如果我單擊退格鍵或鍵盤或遙控器上的特殊後退鍵,則幀會在該窗口起泡到主窗口之前攔截此調用,從而導致我的代碼無法運行。在WPF框架中手動導航CommandCommands.BrowseBack
有沒有辦法阻止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>
沒有嘗試處理PreviewKeyDown並設置arg.Cancel = true在後退按鈕的情況下? –
我可以做一個arg.handled = true,但這將停止任何人處理任何關鍵事件。我希望幀的父級處理事件而不是幀。 – Oli
你可以只處理它的框架,並只過濾返回按鈕? –