可以在WPF的导航窗口中禁用F5键吗?

时间:2011-02-22 14:47:01

标签: c# wpf key navigationwindow pagefunction

我有一个使用导航窗口和一组页面的小应用程序。我的应用程序本身不是浏览器,因此我不希望用户能够通过按F5刷新页面。有没有办法在我的应用程序中禁用此密钥?非常感谢大家。

2 个答案:

答案 0 :(得分:3)

您可以通过将处理程序附加到Navigating事件来完全禁用刷新:

yourNavigationWindow.Navigating += OnNavigating;

// ...

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

答案 1 :(得分:1)

您可以尝试从NavigationWindow中删除CommandBinding。 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);
 }

}