【问题标题】:Manipulation and Touch events not firing, but mouse events do?操作和触摸事件不会触发,但鼠标事件会触发吗?
【发布时间】:2017-06-18 22:36:31
【问题描述】:

我有一台三星 LD220Z 多点触控显示器,当我尝试使用一些 WPF 和触控功能时,触控事件不会触发。然而,鼠标按下事件似乎正在触发。

这是否意味着我必须考虑到并非所有触摸屏的行为都相同,以及如何在我的屏幕上获得触摸输入?我试过微软发布的Windows 7 Touch pack。多点触控功能似乎在那里工作。

关于如何进行此操作的任何建议?

【问题讨论】:

  • 你使用的是什么版本的 wpf?
  • 常规 Visual Studio 2010 和 .NET 4 安装附带的 WPF 版本。
  • 好的,正在检查。那么我认为你应该拥有你需要的一切。我仍然在 VS2008 上,IIRC 你必须安装库才能让它在 3.5SP1 上工作。

标签: wpf windows-7 multi-touch


【解决方案1】:

事件 touchstart 有效,但 touchend 无效。您可以使用 onmouseup="SOMEfun()" 甚至三星 Galaxy 3 的触发事件也有问题。 添加第一个事件,他们将继续工作,但 两种情况: 1)首先添加 onmouseup 和 tauchstart 或更好 2)检查移动或桌面,而不是添加适当的事件 您可以使用我的检测浏览器功能,它非常好(给浏览器类型命名,例如 mobile_chrome_android_tablet 或 firefox_desktop ,safari_ipad)

使 NOMOBILE 全局化,你可以简单地替换 var NOMOBILE =0;与窗口[“NOMOBILE”]=0;

下载浏览器和设备检测器: detect browser and device also class

类名是 DETECTBROWSER()

(在脚本的第一行)

var BROWSER = 新检测浏览器()

检查这个 BROWSER.NAME

这甚至是疯狂的脚本。同时跟踪 10 个手指(在 canvas2d 中) 链接:https://github.com/zlatnaspirala/multi-touch-canvas-handler

1) 示例

      document.getElementById('myCanvas').addEventListener('touchstart', function(event) {
         event.preventDefault(); 
        var touch = event.touches[0]; 
        /* Avatar go left */
          if (touch.pageX < 235) {
        if (backgroundX < 0){
         left = 1;
         }
        /* Avatar go right */
         if (touch.pageX > 470) {
         right=1;
         }
        /* Avatar go lower distance */
         if (touch.pageX > 235 && touch.pageX < 470 && touch.pageY >250 ) {
         distance--;
         }
        /* Avatar go to high distance */
         if (touch.pageX > 235 && touch.pageX < 470 && touch.pageY <250 )  {
         distance++; 
        }
         } ,false);
        // solution for touchend
          function ENDoff(){

           if (moveLEFT==1) {  moveLEFT=0;  }
           if (moveRIGHT==1) { moveRIGHT=0;  }
          }

HTML CODE 
<canvas id="myCanvas" width="480" height="960" onmouseup="touch_UP();"></canvas>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    相关资源
    最近更新 更多