Можно ли отключить клавишу 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);
}
}