同时按下多个按钮

ste*_*rnr 6 c# multi-touch windows-phone-7 windows-phone-7.1

在我的WP 7.1应用程序中,我有一个带有多个按钮的页面.
我注意到,当按下任何一个按钮时,不能按任何其他按钮.

我怎么能克服这个?我需要能够允许用户同时按下多个按钮.

小智 4

不幸的是,您无法同时处理多个按钮点击。不过,有一种方法可以解决这个问题。您可以使用 Touch.FrameReported 事件来获取用户在屏幕上触摸的所有点的位置(我之前在某处读过,在 WP7 上它仅限于两个,但我无法验证)。您还可以检查用户是否正在执行操作(例如向下、移动和向上),这可能很有用,具体取决于您正在执行的操作。

将其放入您的 Application_Startup 中

Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);
Run Code Online (Sandbox Code Playgroud)

将其放入您的 App 类中

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
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

在“Do stuff here”部分中,您将检查触摸点是否位于按钮占据的区域内。

//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.
}
Run Code Online (Sandbox Code Playgroud)

希望这对你有用。