2010-05-08 8 views
2

J'ai un moniteur multi-touch Samsung LD220Z, et quand j'expérimente avec certaines fonctionnalités WPF et tactiles, les événements tactiles ne se déclenchent pas. L'événement de souris vers le bas semble cependant tirer. Cela signifie-t-il que je dois prendre en compte le fait que tous les écrans tactiles ne se comportent pas de la même manière et comment puis-je obtenir les entrées tactiles sur mon écran? J'ai essayé le Windows 7 Touch Pack que Microsoft a publié. Et les fonctionnalités multi-touch semble fonctionner là.Les événements Manipulation et Touch ne se déclenchent pas, mais les événements souris le font?

Une suggestion sur comment procéder avec ceci?

+0

quelle version de WPF utilisez-vous? – Dave

+0

Wich jamais version de WPF qui vient avec une installation normale de Visual Studio 2010 et .NET 4. –

+0

ok, juste vérifier. Je * pense * que vous devriez avoir tout ce dont vous avez besoin, alors. Je suis sur VS2008 encore et IIRC vous devez installer des bibliothèques pour le faire fonctionner sur 3.5SP1. – Dave

Répondre

2

Événement touchstart WORKS mais touchend pas. Vous pouvez utiliser onmouseup = "SOMEfun()" Même le Samsung Galaxy 3 est un problème avec l'événement déclencheur. Ajouter le premier événement et Thay travaillera sur mais deux scénarios: 1) d'abord ajouter onmouseup et que tauchstart ou mieux 2) vérifier mobile ou de bureau et que d'ajouter des événements appropriés Vous pouvez utiliser ma fonction detectbrowser, son très agréable (Donnez un nom de type de navigateur comme mobile_chrome_android_tablet ou firefox_desktop, safari_ipad)

Rendez NOMOBILE global, vous pouvez simplement remplacer var NOMOBILE = 0; avec fenêtre ["NOMOBILE"] = 0;

browser télécharger et détecteur de périphérique: detect browser and device also class

Nom de la classe est DETECTBROWSER()

(sur la première ligne dans le script)

var NAVIGATEUR = new DETECTBROWSER()

Cocher cette BROWSER.NAME

C'est même un script fou. Track 10 doigts en même temps (en Canvas2D) lien: https://github.com/zlatnaspirala/multi-touch-canvas-handler

exemple 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>