WP7資料繫結

2021-09-21 15:19:46 字數 1997 閱讀 3986

wp7

資料繫結

基於silverlight的windows phone資料繫結,它提供了一種資料顯示並與資料進行互動的簡便方法,ui元素和資料物件之間的繫結使得資料可以在兩者之間進行流動,繫結建立之後,如果資料出現更改,則繫結到該資料的ui元素會自動反映更改,同樣,使用者在ui元素中所做的更改也可以在資料物件中反映出來,它的基本過程如圖:

•繫結目標是ui控制項,控制項必須是frameworkelement的任何乙個dependencyproperty(提供快速的方法計算值,可與其他動態資料互動)。

•繫結**是將要與繫結目標進行資料互動的資料。**可以是任何執行於clr的物件,包括目標元素本身或者其他ui元素。

•繫結的語法用大括號表示

等同於•三種資料流方向:(mode屬性):

onetime:一次繫結,在繫結建立時使用源資料更新目標,適用於只顯示資料而不進行資料的更新。

oneway:單向繫結,在繫結建立時或者源資料發生變化時更新到目標,適用於顯示變化的資料。

twoway:雙向繫結,在任何時候都可以同時更新源資料和目標。

其中預設的是oneway,即後台資料發生變化,前台建立了繫結關係的相關控制項也會進行更新

下面我們就針對於listbox控制項來說明一下繫結的具體實現過程,參考**如下:

1.定義資料實體:

public

class

item  

public

string

eventtype   

public

string

note   

}  2.

在*.xmal

中利用binding

物件設定資料繫結

我們還可以給listbox指定列表項的模板itemtemplate,讓它顯示的比較整齊美觀

"595"

horizontalalignment=

"left"

margin=

"0,6,0,0"

name=

"listbox1"

verticalalignment=

"top"

width=

"460"

>  

"horizontal"

>  

"84"

source=

""width=

"81"

horizontalalignment=

"left"

verticalalignment=

"top"

/>     

"vertical"

>  

""fontsize=

"48"

verticalalignment=

"top"

/>                          

""fontsize=

"24"

verticalalignment=

"center"

/>       

3.後台

*.xmal.cs

中定義資料源:

public

partial 

class

private

void

object

sender, routedeventargs e)  

}  }  

windows phone開發中大部分控制項都可以實現資料繫結,在使用binding物件將資料來源與ui控制項進行資料繫結之前,建議大家在大致了解繫結過程的基礎上,首先熟悉一下各個控制項的相關屬性及使用方法,這樣可能會使**更加簡潔,同時也應該掌握一下頁面布局的設計,使資料顯示的效果更加nice。大家可以自己先寫乙個簡單的小例子來實現資料繫結,了解繫結的大致過程之後,然後逐漸向周圍的其他控制項進行擴充套件。目前我自己也是乙個wp7的初學者,學習過程中在這裡只是小小總結一下,希望不對的地方大家多多給予指正~~

WP7 資料繫結

概念就不說了,直接將用法 資料繫結有 資料來源source,和目標target,還有乙個轉換器converter,把資料來源通過轉換器繫結到目標上,轉換器是轉換資料來源的格式 分為單向繫結oneway,雙向繫結twoway,一次繫結onetime 首先演示一下,把slider控制項的value繫結到...

WP7 關於ListBox控制項的資料繫結

listbox是乙個列表控制項,列表中的每乙個項可以是任意的物件 object 我們可以通過模板來定義每乙個項的顯示和資料 下面介紹listbox的模板的定義,和資料繫結 1 定義乙個listbox控制項,先看 listbox horizontalalignment left margin 10,1...

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

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