WP7 資料繫結

2021-09-06 06:53:39 字數 2683 閱讀 9252

概念就不說了,直接將用法

資料繫結有 資料來源source,和目標target,還有乙個轉換器converter,把資料來源通過轉換器繫結到目標上,轉換器是轉換資料來源的格式

分為單向繫結oneway,雙向繫結twoway,一次繫結onetime

首先演示一下,把slider控制項的value繫結到textblock控制項的文字上,這樣就可以通過slider控制文字框的文字內容了

上面**是吧 slider1的value屬性繫結到textblock1控制項的text屬性上

但是有個問題,這個資料位數太長了,我們希望把這個數值進行處理後在顯示出來,比如,我們只顯示整數值,不要這麼長的浮點數

接下來我們要用到轉換器 converter,這個轉換器可以我們自己定義,這樣就可以通過它來控制數值的顯示了,下面將用法

首先,定義乙個轉換器類,這個類繼承於介面 ivalueconverter ,這個介面需要實現兩個函式 convert 和 converterback

public

class

myvalueconverter : ivalueconverter

public

object convertback(object value, type targettype, object

parameter, cultureinfo culture)

}

<

>

<

local:myvalueconverter

x:key

="valueconverter"

/>

>

<

textblock

name

="textblock1"

text="}

"/>

把傳入的double值轉化為int ,然後返回,這樣textblock1顯示出來的值就是整數的了

再說一下繫結模式mode,這個很好理解,就不廢話了

onetime   只繫結一次

oneway   單向繫結

twoway   雙向繫結

接下來說說給頁面繫結資料,和資料來源的定義

首先,我們定義乙個自己的資料來源person

public

class

person:inotifypropertychanged

public

event

propertychangedeventhandler propertychanged;

protected

void

onpropertychanged(propertychangedeventargs e)

}public

string

name

set }

public

intage

set }

}

資料來源需要繼承介面:inotifypropertychanged,該介面是實現向客戶端(一般是執行繫結的客戶端)發出屬性更改的通知,不然屬性後是不會直接更新到繫結端的

定義事件          public event propertychangedeventhandler propertychanged;

定義通知函式        protected void onpropertychanged(propertychangedeventargs e)

在屬性改變時呼叫通知函式  onpropertychanged(new propertychangedeventargs("name"));

有了資料來源,接下來是繫結到頁面

在頁面建構函式中

public

mainpage()

在xaml檔案中用兩個textblock控制項繫結該資料

好了,這就實現了資料來源的定義和資料的繫結

WP7資料繫結

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

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