触摸屏设备上不会触发保持事件

时间:2017-06-04 12:02:02

标签: c# uwp touch

我正在尝试创建一个简单的uwp应用程序,我需要显示上下文菜单,如果用户右键单击非触摸设备并且用户在触摸屏设备上保留。 我正在使用权利事件,它在我的桌面上完美运行。另一方面,我使用hold事件,当屏幕被长按时应该触发,但它不起作用(在触摸屏上移动)。

private void Webview_Holding(object sender, HoldingRoutedEventArgs e)
    {
        Webview.ContextFlyout.ShowAt(sender as FrameworkElement);
    }

我是否需要使用其他一些事件来显示上下文菜单,如果是,那么哪一个?

1 个答案:

答案 0 :(得分:2)

在我回答here时,您应该为触摸和非触摸设备使用RightTapped事件。但是,WebView不支持所有触摸或键盘事件。

备注WebView控件的MSDN部分:

  

如事件表中所示,WebView不支持大部分内容   从UIElement继承的用户输入事件,例如KeyDown,KeyUp,   和PointerPressed。常见的解决方法是使用InvokeScriptAsync   使用JavaScript eval函数来使用HTML事件处理程序,以及   从HTML事件处理程序使用window.external.notify来通知   使用WebView.ScriptNotify的应用程序。