評分控制項wp7

2022-01-12 19:18:25 字數 2305 閱讀 7464

根據要點1、2設計控制項屬性

brush markedfill  選中了的五星刷子

brush unmarkedfill 未選中的五星刷子

int maxstars 最大五星數量

marked 當前評價值

根據要點2設計控制項屬性改變行為

很簡單獲取marked 然後將每個五星都修改一下顏色

private void fillstars(int index)

else

}根據要點3、4設計控制項觸控行為

將2個要點合併了,實現方法為:

• 滑動前(點中): 修改為當前x軸的高亮位置

• 滑動中:根據x軸變化高亮位置

• 滑動完成(放開): 修改為當前x軸的高亮位置,並更新評分marked 當前評價值

通過五星的寬度可以獲取x軸所在的五星

**如下:

protected override void onmanipulationstarted(manipulationstartedeventargs e)

protected override void onmanipulationdelta(manipulationdeltaeventargs e)

protected override void onmanipulationcompleted(manipulationcompletedeventargs e)

base.onmanipulationcompleted(e);

}完整**

view code

using system.collections.objectmodel;

using system.componentmodel;

using system.diagnostics;

using system.windows;

using system.windows.controls;

using system.windows.input;

using system.windows.media;

namespace kimistudio.controls

set

}public int maxstars

set

}public brush unmarkedfill

set

}public brush markedfill

set

}private static void onmarkedpropertychanged(dependencyobject o, dependencypropertychangedeventargs args)

#endregion

public starmark()

staritems = new observablecollection();

for (int i = 0, length = maxstars; i < length; i++));}

stars.itemssource = staritems;

setmarked(marked);

}private void setmarked(int value)

protected override void onmanipulationstarted(manipulationstartedeventargs e)

protected override void onmanipulationdelta(manipulationdeltaeventargs e)

protected override void onmanipulationcompleted(manipulationcompletedeventargs e)

base.onmanipulationcompleted(e);

}private int updatestar(point point)

//sl可用

//protected override void onmouseleftbuttonup(mousebuttoneventargs e)

////    base.onmouseleftbuttonup(e);

//}private bool verifyvalue(int index)

private void fillstars(int index)

else

}public class staritem : inotifypropertychanged

set}

private void onpropertychanged(string propertyname)}}

}對應的generic.xaml

view code

WP7基本控制項

windows phone程式生成檔案是xap格式,是乙個壓縮包,安裝時系統自動把xap解壓到手機上。image控制項 resource content的區別。如果生成操作是 資源 resource 則是生成到dll中 如果是 內容 content 則是生成到xap包中。採用resource方式可以...

WP7 開發(五) wp7控制項開發(二)

1 passwordbox 用於輸入自定義遮罩字元的密碼框控制項,屬性passwordchar用來顯示輸入的密碼替換符號 2 textbox 可以讓軟鍵盤產生不同的鍵面效果 inputscope屬性可通過 獲取屬性列表 typeof inputscopenamevalue getfields bin...

WP7 自定義控制項

首先說說自定義控制項 wp7自帶的控制項使用起來太過於單一,有時候我們需要自己自定義一些空間的行為或顯示,下面演示自定義按鈕控制項,為新控制項新增backcolor和forecolor兩個屬性 1 新建乙個類,定義兩個屬性 forecolor 和 backcolor public class myb...