對wp7系統裡自帶的動畫效果很感興趣,看到了 乙個 checkboxlist (自己起的名字,呵呵)顯示隱藏checkbox的效果(比如wifi的高階設定選項列表),於是簡單模仿下。
首先建立乙個工程,然後新增乙個自定義控制項。
起名字:checkboxlistitem.
下面開始在這個自定義控制項裡組裝零件。
模擬一下的,所以很簡單,乙個checkbox,乙個textblock 放在stackpanel 裡。
在控制項後台**裡,先宣告乙個布林型別的依賴屬性:isshowenabled.
public bool isshowenabled作用就是用來獲取是否顯示或者隱藏checkbox.set
}// using a dependencyproperty as the backing store for isshowenabled. this enables animation, styling, binding, etc...
public static readonly dependencyproperty isshowenabledproperty =
dependencyproperty.register("isshowenabled", typeof(bool), typeof(checkboxlistitem),
new propertymetadata(false,(d,e)=>onisshowenabledchanged(d,e)));
然後建立乙個**:onisshowenabledchanged,用來處理屬性更改後要做的事情。
顯示或者隱藏checkbox,選擇用動畫來處理。
寫乙個生成動畫的方法。
/// ///這個動畫就是來處理元素的 translatetransform 的 x 屬性,來達到效果。///
/// 元素
/// from
/// to
/// 開始時間
/// 持續時間
///
public static storyboard animation(frameworkelement element, double from, double to, double delay, double duration)
;element.rendertransform = trans;
doubleanimation db = new doubleanimation();
db.to = to;
db.from = from;
db.easingfunction = new powerease() ;
sb.duration = db.duration = timespan.fromseconds(duration);
sb.begintime = timespan.fromseconds(delay);
sb.children.add(db);
storyboard.settarget(db, trans);
storyboard.settargetproperty(db, new propertypath("x"));
return sb;
}
下面是**方法。
private static void onisshowenabledchanged(dependencyobject d, dependencypropertychangedeventargs e)前台的**:
1系統自帶的還有很多功能。需要慢慢實現。這裡簡單的模仿下2<
grid
x:name
="contentpanel"
grid.row
="1"
margin
="12,0,12,0"
>
3<
listbox
name
="listbox"
margin
="0,70,0,0"
>
4<
listbox.itemtemplate
>
5<
datatemplate
>
6<
my:checkboxlistitem
isshowenabled
=""/>
7datatemplate
>
8listbox.itemtemplate
>
9listbox
>
10<
checkbox
content
=""height
="72"
horizontalalignment
="left"
name
="checkbox"
verticalalignment
="top"
/>
11grid
>
demo:checkboxlist.zip
WP7 實現類似tree效果
目的 實現tree效果。前提條件 需要區分wp7.0和wp7.1 版本。對於wp7.0版本,可採用listbox巢狀listbox方法實現 對於wp7.1 mango 版本,則多一項選擇,採用系統的toolkit方法,即expanderview實現。實現過程 本文目前採用listbox巢狀方法實現。...
WP7放大鏡效果實作
今天我們在 windows phone 7 模擬器上面來做個簡單的放大鏡範例 這邊提一下,我在裝好開發工具後,我的 vs2010 已經可以開發 wp7應用程式,但是想要用 blend 設計介面時,卻發現找不到 blend forwindows phone beta 後來是在執行解除安裝時 參考下圖 ...
WP7中為頁面跳轉新增動畫效果
關鍵字 頁面跳轉 動畫 toolkit wp7應用程式開發中,頁面跳轉預設無動畫效果。可以根據實際應用需要,採用如下兩種方法之一為頁面跳轉新增動畫效果。1.單獨為指定的頁面新增動畫效果 2.為多個頁面新增相同的動畫效果 將效果儲存為頁面樣式,在需要新增動畫的頁面xaml檔案中用一行 對其進行呼叫即可...