WP 資料繫結Visibility

2021-09-08 02:10:57 字數 2535 閱讀 7001

發現又懶了很久了

隨便畫點字吧

在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...