在WP7設備上,我有一個畫布。當用戶觸摸畫布上的任何位置時,圖像將顯示在該位置。如何在按住另一個手指的同時註冊觸摸
我想添加一個功能,如果用戶用一個手指觸摸並握住屏幕,然後用另一個手指在另一個地方觸摸屏幕,也會顯示一個圖像。所以基本上我希望能夠以最簡單的方式捕捉並回應第二次觸摸。有任何想法嗎?
在WP7設備上,我有一個畫布。當用戶觸摸畫布上的任何位置時,圖像將顯示在該位置。如何在按住另一個手指的同時註冊觸摸
我想添加一個功能,如果用戶用一個手指觸摸並握住屏幕,然後用另一個手指在另一個地方觸摸屏幕,也會顯示一個圖像。所以基本上我希望能夠以最簡單的方式捕捉並回應第二次觸摸。有任何想法嗎?
你所需要的僅僅是在於Microsoft.Phone.Controls命名空間中的GestureListener,它可以處理一對夫婦的手勢像
您可以使用它li ke so
var gestureListener = GestureService.GetGestureListener(myCanvas);
//registering the Events
gestureListener.PinchStarted += new EventHandler<PinchStartedGestureEventArgs>(PinchStartedHandler);
gestureListener.PinchDelta += new EventHandler<PinchGestureEventArgs>(PinchDeltaHandler);
gestureListener.PinchCompleted += new EventHandler<PinchGestureEventArgs>(PinchCompletedHandler);
在適當的Hanler-Methods中,您可以進行旋轉和縮放轉換。
對不起,我不能標記你的答案是正確的,因爲它是。謝謝 – Nogusta 2011-03-19 11:59:20
既然你都清楚地在Silverlight,這篇文章將向您展示如何實現多點觸控自己 - http://mine.tuxfamily.org/?p=111
註冊觸摸
Touch.FrameReported += new TouchFrameEventHandler(Touch_FrameReported);
然後處理這些亮點:
void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
// if there are more than one finger on screen
if (e.GetTouchPoints(myCanvas).Count == 2)
{
TouchPointCollection tpc = e.GetTouchPoints(myCanvas);
// use tpc[0].Position
// use tpc[1].Position
}
}
或者,如果您想使用現成的手勢,請考慮使用最新的Silverlight工具包 - 請參閱此博客文章的信息 - http://3water.wordpress.com/2011/03/09/wp7-gesture-recognition-2/
我得到了一個win7手機,n它唯一能夠處理1個手指(非多點觸控),如果我觸摸第二個手指的「光標」去兩個哈哈它的中間它沒有iphone – 2011-03-19 06:33:40
奇怪我認爲他們必須處理多點觸控作爲基本規格的一部分。礦處理捏等沒有問題 – Nogusta 2011-03-19 06:37:45
哦,每個WP7支持最少四個多點觸摸點,這就是事實! XNA中的 – cordellcp3 2011-03-19 08:52:07