根據要點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...