Behandeln von Zwei-, Drei-, Vier-Finger-Gesten in WinRT-App

8

Ich habe den folgenden Code:

%Vor%

Ich kann mit 1 Fingerwischgeste sehr leicht umgehen, aber ich möchte auch 2, 3, 4 Fingerwischgesten handhaben. Kann mir jemand sagen, wie ich das mache?

    
Elmo 13.10.2012, 20:23
quelle

2 Antworten

12

Diesem MSDN Forum-Posting Sie müssen Zeiger Benachrichtigungen verwenden . Die Dokumentation mit funktionierendem Beispielcode befindet sich in der MSDN-Bibliothek

Vom letzten Link:

  

Ein Zeigerobjekt stellt einen einzelnen, eindeutigen "Kontakt" (ein PointerPoint) eines Eingabegeräts dar (z. B. Maus, Stift / Stift, einzelner Finger oder mehrere Finger). Das System erstellt einen Zeiger, wenn ein Kontakt zum ersten Mal erkannt wird, und zerstört es, wenn der Zeiger den Erfassungsbereich verlässt (verlässt) oder abgebrochen wird. Bei mehreren Geräten oder Multi-Touch-Eingaben wird jeder Kontakt als eindeutiger Zeiger behandelt.

Nur ein Vorbehalt, ich habe kein Multitouch-Windows-8-Gerät, um diesen Code zu testen. Es wurde also im Simuator mit all seinen Einschränkungen getestet, und wie in den obigen Links erwähnt, hat Windows 8 keine eingebaute Gestenunterstützung, um mehrere Finger zu erkennen, die Sie mit Funktionen auf niedrigerer Ebene verwenden müssen.

Zuerst habe ich zwei weitere Wörterbücher zum obigen MSDN-Beispielcode und zwei Variablen für Ihren Swipe-Schwellenwert zu den Klassendefinitionen hinzugefügt.

%Vor%

Ich initialisiere dann die Dictionarys im Konstruktor des Formulars

%Vor%

Dann habe ich jeden Ort, an dem das Originalwörterbuch hinzugefügt wurde oder ein Objekt entfernt hat, genauso mit dem neuen Wörterbuch gemacht.

hinzufügen:

%Vor%

Entfernen:

%Vor%

Dann fügen Sie sie schließlich im PointerMovedEvent zusammen:

%Vor%

Endgültiges modifiziertes MSDN-Beispiel:

%Vor%     
Mark Hall 14.10.2012, 00:52
quelle
1

Ich habe die Antwort von Mark Hall an eine separate Klasse angepasst und mich mit Wischen nach oben, unten, links und rechts beschäftigt. Es hat immer noch Probleme, wo man die Finger zu verschiedenen Zeiten anheben und mehrere Ereignisse bekommen kann und verbessert werden kann, obwohl es für meine Bedürfnisse funktioniert:

%Vor%

Verwendung

%Vor%     
tagy22 07.10.2015 15:26
quelle