2012-07-01 26 views
6

In meiner WP 7.1 App habe ich eine Seite mit mehreren Tasten.
Ich habe festgestellt, dass während der Betätigung einer beliebigen Taste keine andere Taste gedrückt werden kann.Mehrere Tasten gleichzeitig drücken

Wie kann ich das überwinden? Ich muss in der Lage sein, Benutzern zu erlauben, mehrere Knöpfe gleichzeitig zu drücken.

Antwort

4

Sie können leider nicht mehrere Tastenklicks gleichzeitig verarbeiten. Es gibt jedoch einen Weg um es herum. Sie können das Touch.FrameReported-Ereignis verwenden, um die Position aller Punkte zu ermitteln, die ein Benutzer auf dem Bildschirm berührt (ich habe irgendwo auf WP7 gelesen, dass es auf zwei begrenzt ist, aber das kann ich nicht bestätigen). Sie können auch überprüfen, ob die Aktion, die der Benutzer ausführt (z. B. "Ab", "Bewegen" und "Nach oben"), je nach dem, was Sie gerade tun, nützlich sein kann.

Setzen Sie diese in Ihrem Application_Startup

Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported); 

Setzen Sie diese in Ihrer App Klasse

void Touch_FrameReported(object sender, TouchFrameEventArgs e) 
{ 
    TouchPoint primaryTouchPoint = args.GetPrimaryTouchPoint(null); 


    TouchPointCollection touchPoints = args.GetTouchPoints(null); 


    foreach (TouchPoint tp in touchPoints) 
    { 
     if(tp.Action == TouchAction.Down) 
     { 
     //Do stuff here 
     } 

    } 
} 

Im "stuff Sie hier" Teil würden Sie überprüfen, ob die Touchpoint tp innerhalb eines Bereichs ist eine Schaltfläche besetzt.

//This is the rectangle where your button is located, change values as needed. 
Rectangle r1 = new Rectangle(0, 0, 100, 100); 
if (r1.Contains(tp.Position)) 
{ 
    //Do button click stuff here. 
} 

Das sollte es hoffentlich für Sie tun.

Verwandte Themen