發現又懶了很久了
隨便畫點字吧
在wp中,一些控制項(如listbox)模板資料繫結的時候,可能需要根據需要繫結的資料,來動態的選擇一些內容是否顯示(額,不會表達,其實簡單的說就是繫結控制項的visibility)
其實方法是和sl一樣的,需要乙個轉換類來轉換成visibility.collapsed或者visibility.visible
比如新建乙個工程visibilitybinding
然後建立乙個轉換類convertvisibility.cs,繼承於ivalueconverter(記得新增引用using system.windows.data)
**:1
using
system;
2 using
system
.windows;
3 using
system
.windows
.data;
4 5
namespace
visibilitybinding
6 12
13 public
object
convert
(object
value
,type
targettype,
object
parameter,
system
.globalization
.cultureinfo
culture
)14
20 bools=
(bool
)value
;21
//根據輸入,判斷返回值
22 return(s
!=true)?
visibility
.collapsed
:visibility
.visible;
23 }
24 public
object
convertback
(object
value
,type
targettype,
object
parameter,
system
.globalization
.cultureinfo
culture
)25
28 }
29 }
我們再新增乙個資料類itemdata,用於繫結資料:
1 namespace
visibilitybinding
2 7
public
string
score
8 9
public
bool
visibilitytype
10 11
}12 }
然後我們回到mainpage.xaml,拖入個listbox,並簡單編輯下繫結模板
然後現在頁面頂部新增引用
1 xmlns
:local="
clr-namespace:visibilitybinding"
然後在頁面裡新增資源:
1.resources>
2 x:key="dataconverter"/>
3.resources>
最後設定繫結資料的轉換:
1 text="
"margin="0,0,15,0"
width="200"
visibility="
}"/>
然後設定資料繫結:
1 using
system
.collections
.generic;
2 using
system
.windows;
3 using
microsoft
.phone
.controls;
4 5
namespace
visibilitybinding
6 13
14 private
void
(object
sender,
routedeventargse)
15 23
}24 }
執行看看效果:
其實真個很簡單,關鍵是在轉換類做對應的處理,即使輸入不是bool型的,只要在轉換類做對應的處理,返回visibility.collapsed或者visibility.visible就可以了
原始碼:
WP7 資料繫結
概念就不說了,直接將用法 資料繫結有 資料來源source,和目標target,還有乙個轉換器converter,把資料來源通過轉換器繫結到目標上,轉換器是轉換資料來源的格式 分為單向繫結oneway,雙向繫結twoway,一次繫結onetime 首先演示一下,把slider控制項的value繫結到...
WP7資料繫結
wp7 資料繫結 基於silverlight的windows phone資料繫結,它提供了一種資料顯示並與資料進行互動的簡便方法,ui元素和資料物件之間的繫結使得資料可以在兩者之間進行流動,繫結建立之後,如果資料出現更改,則繫結到該資料的ui元素會自動反映更改,同樣,使用者在ui元素中所做的更改也可...
WP7 關於ListBox控制項的資料繫結
listbox是乙個列表控制項,列表中的每乙個項可以是任意的物件 object 我們可以通過模板來定義每乙個項的顯示和資料 下面介紹listbox的模板的定義,和資料繫結 1 定義乙個listbox控制項,先看 listbox horizontalalignment left margin 10,1...