【问题标题】:Can the F5 key be disabled in a navigation window in WPF?可以在 WPF 的导航窗口中禁用 F5 键吗?
【发布时间】:2011-02-22 14:47:00
【问题描述】:

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

【问题讨论】:

    标签: c# wpf key navigationwindow pagefunction


    【解决方案1】:

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

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

    【讨论】:

    • 两种解决方案都很好。不过,我会选择 Jens。感谢双方。这现在有效!埃德加
    【解决方案2】:

    您可以尝试从 NavigationWindow 中删除 CommandBinding。 导航命令刷新

    类似:

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

    【讨论】:

      猜你喜欢
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      相关资源
      最近更新 更多