Windows Phone 可以拖動的小球

2022-07-17 07:30:14 字數 1741 閱讀 3425

這個程式主要實現乙個簡單的手指拖動小球移動的效果,主要用到的是

windows phone

中的touch

操作和元素的

transforms

操作效果如圖:

中高階的

touch

主要使用

manipulationstarted

、manipulationdelta

和manipulationcompleted

三個事件來處理,低階的

touch

主要是由

touch.framereported

事件來處理

這個小程式由於是使用手指拖動,故使用高階的

touch,

然後當手指拖動小球的時候根據手指位置移動改變小球的位置,

當手指做出縮放操作時候可以改變小球的大小(縮放在模擬器上沒辦法看到效果,因為模擬器不支援這種複雜的

touch

),這個使用

rendertransform的

translatetransform

(移動位置)、

scaletransform

(增加或者減小大小)即可實現。

首先是繪製介面,在

contentpane

這個grid

中首先使用

ellispse

繪製乙個圓,為了看起來像個小球,可以給它新增乙個放射性漸變的填充色。

為了移動和縮放小球當然得為橢圓新增乙個

rendertransform

了。然後我想顯示一些移動或者縮放的資訊,所以我在裡面又放進乙個

textblock

。xaml

如下:

您可能已經注意到上面為橢圓新增了

manipulationdelta

事件,通過該事件處理我們就能實現想要的效果了

,當手指在橢圓上移動的時候,就根據手指動作改變小球的

rendertransform

,即實現了所要效果。

manipulationdelta處理**如下:

private void ellipse_manipulationdelta(object sender, manipulationdeltaeventargs e)

//移動操作

transform.translatex += e.deltamanipulation.translation.x;

transform.translatey += e.deltamanipulation.translation.y;

postioninfo.text = "當前偏移量:x:" + transform.translatex.tostring() + " y:" + transform.translatey.tostring()+" 半徑:"+(ellipse.actualwidth/2).tostring();

表示該事件已經被處理,不要再執行後面的處理函式

e.handled = true;

}

這樣小球就可以隨便拖動了,效果還可以了,呵呵。

landscape狀態如下:

拖管程式呼叫非拖管API

一,在.net 2005中使用拖管c 呼叫非拖管的動態鏈結庫 現在編寫動態庫的時候就沒法使用標頭檔案來呼叫了,而且在要匯出的方法前加入extern c 來說明一下,extern c 是用c語言的一些連線規則,可以防止c 編譯器對被連線的函式進行名字粉碎。也可以叫做是函式方法的入口,標頭檔案就可以不要...

有什麼方法可以對幾何畫板物件進行刪除和拖動

幾何畫板如果做一些複雜的圖形還是有點難度的,但是如果對幾何畫板做一些基本的操作,那是很簡單的。在幾何畫板中,對選中的物件可以進行的操作有 刪除 拖動 構造 度量 變換等。本節教程將給大家介紹介紹有什麼方法可以對幾何畫板物件進行刪除和拖動?1.刪除 刪除就是把物件 點 線或圓 從螢幕中清除出去。方法是...

Windows Phone正在死去

看起來有點標題黨。我本來想用的標題是windows phone正在變成下乙個zune。但是小範圍調查發現,果然沒幾個人還記得zune。windows phone真的處境不妙。現實情況就是 原以為坐穩了移動作業系統第三位置的windows phone,不僅沒能更進一步擴張,反而迅速邊緣化。不相信?來看...