WP7 模擬 選擇框列表 效果

2022-01-30 11:19:47 字數 2673 閱讀 3131

對wp7系統裡自帶的動畫效果很感興趣,看到了 乙個 checkboxlist (自己起的名字,呵呵)顯示隱藏checkbox的效果(比如wifi的高階設定選項列表),於是簡單模仿下。

首先建立乙個工程,然後新增乙個自定義控制項。

起名字:checkboxlistitem.

下面開始在這個自定義控制項裡組裝零件。

模擬一下的,所以很簡單,乙個checkbox,乙個textblock 放在stackpanel 裡。

在控制項後台**裡,先宣告乙個布林型別的依賴屬性:isshowenabled.

public bool isshowenabled

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)));

作用就是用來獲取是否顯示或者隱藏checkbox.

然後建立乙個**:onisshowenabledchanged,用來處理屬性更改後要做的事情。

顯示或者隱藏checkbox,選擇用動畫來處理。

寫乙個生成動畫的方法。

/// /// 

///

/// 元素

/// 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;

}

這個動畫就是來處理元素的 translatetransform 的 x 屬性,來達到效果。

下面是**方法。

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檔案中用一行 對其進行呼叫即可...