Можно ли отключить клавишу F5 в окне навигации в WPF? - PullRequest
2 голосов
/ 22 февраля 2011

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

Ответы [ 2 ]

3 голосов
/ 22 февраля 2011

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

yourNavigationWindow.Navigating += OnNavigating;

// ...

void OnNavigating(object sender, NavigatingCancelEventArgs e)
{
    if(e.NavigationMode == NavigationMode.Refresh)
        e.Cancel = true;
}        
1 голос
/ 22 февраля 2011

Вы можете попытаться удалить 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);
 }

}
...