首先說說自定義控制項
wp7自帶的控制項使用起來太過於單一,有時候我們需要自己自定義一些空間的行為或顯示,下面演示自定義按鈕控制項,為新控制項新增backcolor和forecolor兩個屬性
1、新建乙個類,定義兩個屬性 forecolor 和 backcolor
public接下來是使用,在xaml頁面中使用該控制項,先新增命名空間class
mybutton : button
public
color forecolor
set }
public
color backcolor
set }
}
<接下來將該屬性作為資源樣式style來設定local:mybutton
backcolor
="red"
forecolor
="white"
content
="button"
height
="72"
x:name
="mybutton1"
width
="160"
/>
<>
<
style
x:key
="colorstyle1"
targettype
="local:mybutton"
>
<
setter
property
="backcolor"
value
="azure"
>
setter
>
<
setter
property
="forecolor"
value
="chartreuse"
>
setter
>
style
>
>
<但是會報錯local:mybutton
style=""
content
="button"
height
="72"
x:name
="mybutton1"
width
="160"
/>
為什麼呢,要想為自定義的屬性使用style,那麼就必須將之設定為dependencyproperty
dependencyproperty的定義格式為
public static readonly dependencyproperty 變數名=
dependencyproperty.register("屬性名",
typeof(屬性型別),
typeof(所屬類的型別),
new propertymetadata(預設值, 值變化時觸發的方法));
現在我們修改之前的**,將forcecolor和backcolor設定為dependencyproperty,修改後的mybutton類如下
public然後設定資源class
mybutton : button
public
color forecolor
set }
public
color backcolor
set }
public
static
readonly dependencyproperty backcolorproperty =dependencyproperty.register(
"backcolor
", typeof(color), typeof
(mybutton),
newpropertymetadata(colors.blue, oncolorchanged));
public
static
readonly dependencyproperty forecolorproperty =dependencyproperty.register(
"forecolor
", typeof(color), typeof
(mybutton),
newpropertymetadata(colors.red, oncolorchanged));
private
static
void
oncolorchanged(dependencyobject obj, dependencypropertychangedeventargs e)
if (e.property ==backcolorproperty)}}
但是,在設計檢視中,不能看到效果
WP7 自定義字型
windows phone自帶的字型又少又難看,我們可以自己引入一些字型讓程式變得好看些 首先引入字型資源 新蒂小丸子體.ttf 然後設定 生成操作為 content 新增乙個textblock控制項 textblock fontfamily font 新蒂小丸子體.ttf senty小丸子 hor...
評分控制項wp7
根據要點1 2設計控制項屬性 brush markedfill 選中了的五星刷子 brush unmarkedfill 未選中的五星刷子 int maxstars 最大五星數量 marked 當前評價值 根據要點2設計控制項屬性改變行為 很簡單獲取marked 然後將每個五星都修改一下顏色 priv...
WP7基本控制項
windows phone程式生成檔案是xap格式,是乙個壓縮包,安裝時系統自動把xap解壓到手機上。image控制項 resource content的區別。如果生成操作是 資源 resource 則是生成到dll中 如果是 內容 content 則是生成到xap包中。採用resource方式可以...