Можно ли отключить клавишу F5 в окне навигации в WPF?

У меня есть небольшое приложение, которое использует окно навигации и набор страниц. Мое приложение само по себе не является браузером, и поэтому я не хочу, чтобы пользователь мог обновить страницу, нажав клавишу F5. Есть ли способ отключить этот ключ в моем приложении? Большое спасибо всем.

2 ответа

Решение

Вы можете вообще отключить обновление, прикрепив обработчик к Navigating событие:

yourNavigationWindow.Navigating += OnNavigating;

// ...

void OnNavigating(object sender, NavigatingCancelEventArgs e)
{
    if(e.NavigationMode == NavigationMode.Refresh)
        e.Cancel = true;
}        

Вы можете попытаться удалить CommandBinding из NavigationWindow. NavigationCommand.Refresh

Что-то вроде:

CommandBinding removeBinding=null;
foreach(CommandBinding cb in navigationWindow.CommandBindings){
 if(cb.Command==NavigationCommand.Refresh){
   removeBinding=cb;
   break;
 }
 if(removeBinding != null){
   navigationWindow.CommandBindings.Remove(removeBinding);
 }

}
Другие вопросы по тегам