Silverlight學習之 最簡單資料繫結示例

2022-01-11 17:33:52 字數 1168 閱讀 7551

在 silverlight 中支援3種繫結:oneway, twoway, onetime. 預設是 oneway.

其中 oneway 表示僅僅從資料來源繫結到目標(通常是 ui 物件),單向的;

twoway 表示既可以從資料來源繫結到目標,目標的更改也可以反饋給資料來源,使其發生更新。

而 onetime 是 oneway 的一種特例,僅載入一次資料。隨後資料的變更不會通知繫結目標物件。這樣,可以帶來更好的效能。

繫結的語法可以用大括號表示,下面是幾個例子:

""/>

等同於:

""/>

或者顯式寫出繫結方向:

""/>

按照資料繫結的語義,預設是 oneway 的,也就是說如果後台的資料發生變化,前台建立了繫結關係的相關控制項也應該發生更新。

public partial class page : usercontrol);}

list1.datacontext = persons;

}private

void button_click(object sender, routedeventargs e)

}"list1">

"horizontal">

""margin=

"20,0"

/>

""/>

但是我們點選 button 發現 listbox 裡的資料並沒有發生變化。這是因為在資料來源更新時,並沒有發出任何通知。

我們可以讓資料來源中的物件實現 inotifypropertychanged 介面,在繫結的源屬性值發生變化時,發出相關的通知資訊。

**如下:

public

class person: inotifypropertychanged

set}

private

string name;

public

string name 

set}

public

event propertychangedeventhandler propertychanged;

private

void notifypropertychange(string propertyname)}}

這個**的原理很簡單,這裡就不解釋了。這樣以後,點選按鈕,前台的 listbox 中第一條資料的人名就變成了 tom:

Silverlight學習之布局

silverlight布局主要有三種布局方式 grid stackpanel和canvas canvas canvas 採用的是相對定位布局,通過canvas.left和canvas.top兩個屬性來控制元素在canvas中的位置。效果 其中從上往下第乙個按鈕距左50,距上50。第二個距左50,距上...

Silverlight學習之 Canvas物件

首先canvas為silverlight提供的乙個布局元素之一。每個子物件都呈現在canvas區域中。通過指定x和y座標,可以控制物件在canvas中的定位。這些座標以為象素為單位。x和y座標通常使用canvas.left和canvas.top的附加屬性來指定。canvas.left 指定物件與包含...

學習Silverlight最佳部落格

中文blog terrylee 我和未來有個約會 笑看風雲淡 webabcd 英文blog official silverlight website brad adams 首席產品部門經理 s blog nikhil kothari 微軟principal architect s blog jess...