WP7中的4点多点触控手势(silverlight)

时间:2012-02-03 17:03:41

标签: c# silverlight windows-phone-7 multi-touch

我想在我的应用中使用4点多点触控手势。该应用程序处于silverlight(不是xna),但手势不适用于任何控件,他们只会检查用户是否将4个手指拖到屏幕的左侧或右侧。

我可以使用任何库吗?或者我自己实现它的最简单方法是什么?我可以使用XNA多点触控库吗?

干杯

2 个答案:

答案 0 :(得分:0)

正如您可能知道的那样,WP7 silverlight API假设有两个接触点用于多点触控,即PinchStarted,PinchDelta和PinchCompleted。

请查看Microsoft.Xna.Framework.Input.Touch命名空间中的TouchPanel类。

//Determine the maximum number of touches permited (four for WP7):
TouchPanelCapabilities tc = TouchPanel.GetCapabilities();
if(tc.IsConnected)
{
    return tc.MaximumTouchCount;
}

//To read multitouch data from the touch input device you can do the following:
// Process touch events
TouchCollection touchColl = TouchPanel.GetState();
foreach (TouchLocation t in touchColl)
{
    if ((t.State == TouchLocationState.Pressed)
            || (t.State == TouchLocationState.Moved))
    {
    //You can check the coordinates of each point (and the previous coordinate TryGetPreviousLocation())
    float xcoordiante = t.Position.X;
    float ycoordiante = t.Position.Y;

    //Determine if touch point was moved/pressed or released use the State property
    TouchLocationState st = t.State;

    }
}

可在此处找到更多详细信息:http://msdn.microsoft.com/en-us/library/ff827744.aspx

我没有看到任何专门针对4点触控的库,但是,如果您正在寻找有助于多点触控调试的库,我强烈建议http://multitouch.codeplex.com/

答案 1 :(得分:0)

Silverlight WP7工具包非常适合做手势 Download WP7 Toolkit
Then check out this awesome tutorial