Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP7中的4点多点触控手势(silverlight)_C#_Silverlight_Windows Phone 7_Multi Touch - Fatal编程技术网

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

C# WP7中的4点多点触控手势(silverlight),c#,silverlight,windows-phone-7,multi-touch,C#,Silverlight,Windows Phone 7,Multi Touch,我想在我的应用程序中使用4点多点触控手势。该应用程序使用silverlight(不是xna),但手势不会应用于任何控件,它们只会检查用户是否将4个手指拖到屏幕的左侧或右侧 有我可以使用的图书馆吗?或者我自己实现它最简单的方法是什么?我可以使用XNA多点触摸库吗 干杯您可能知道WP7 silverlight API假定多点触摸有两个接触点,即PinchStarted、PinchDelta和PinchCompleted 请检查位于Microsoft.Xna.Framework.Input.Touch

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

有我可以使用的图书馆吗?或者我自己实现它最简单的方法是什么?我可以使用XNA多点触摸库吗


干杯

您可能知道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;

    }
}
更多详细信息可在此处找到:


我还没有看到任何专门针对4点触摸的库,但是,如果您正在寻找有助于多点触摸调试的库,我强烈推荐。

Silverlight WP7工具包非常适合做手势。


对于XNA来说这是个好主意,但在Silverlight中,更好的方法是触摸。FrameReported链接:XNA处理多达4个触摸点。您应该能够使用它,但可能必须使用计时器来读取值。(工具箱中的GestureHelper在内部执行此操作,但仅返回2分)。