亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Silverlight數據綁定引擎

發布時間:2020-06-16 02:06:03 來源:網絡 閱讀:549 作者:windows_phone 欄目:開發技術

 

 Silverlight數據綁定引擎

 

 

1Silverlight中數據綁定基于Silverlight數據綁定引擎

2)該綁定引擎實現從UI元素CLR源數據對象之間的關聯,創建并維護兩者之間的數據通道。

3)通過該綁定引擎,將CLR源數據對象包含的數據反映到UI元素,并可以將UI中對數據的更改反饋回源數據對象。

 

一次數據綁定包含兩個最基本的要素:

 

(1)       綁定目標(FrameworkElement依賴項屬性

(2)       綁定源(對象的屬性)

 

 綁定源

即數據的來源,可以是任意的CLR對象,通常實際需要的是該對象的某一個特定屬性.

綁定目標

顯示數據的UI元素,可以是任何FrameworkElement類型的對象,實際綁定的也是該對象的某一個特定屬性

綁定模式

主要決定數據流的方向,可以是單向雙向

值轉換器

需要時用以進行數據類型或格式的轉換

 綁定引擎所屬的這些信息,主要有System.Windows.Data 中的Binding對象來提供。

 

以下是Binding對象的幾個重要屬性:

 

 

1path

指定綁定源對象中用以提供數據的屬性,通過屬性路徑語法來表示

2Mode

指示數據綁定模式,可以為OneTimeOneWayTwoWay

3Converter

值轉換器對象,需要時設置,必須是一個IValueConverter接口類型的對象

4)設置綁定源

有四種方法:

1、  Source:表示綁定源對象。

2、  RelativeSource:通過指定綁定源相對于綁定目標的位置來標識綁定源

3、  ElementName:當綁定源也是UI對象時,獲取或設置其名稱用以標識綁定源

4、  通過設置UI元素的DataContext屬性來指定綁定源,上下文的表示方法

綁定目標通過UI元素的SetBinding方法來進行設置(當然也可以在XAML中直接指定)。

  三種模式的數據綁定。

 

OneTime

單向一次綁定,在綁定創建時使用源數據更新目標,適用于只顯示數據而不進行數據的更新(只在綁定創建時更新一次數據源,之后綁定目標的顯示將與綁定源的變化無關)

OneWay

單向綁定,在綁定創建時或者源數據發生變化時更新到目標,適用于顯示變化的數據(綁定創建時及之后綁定源的每一次變化都會更新綁定目標。)

TwoWay

雙向綁定,在任何時候都可以同時更新源數據和目標。(數據在綁定源與綁定目標之間可相互流動,源與目標任一方的變化都會立即通知到對方并引發對方的更新,雙方是實時同步的。)

注意:當選擇OneWayTwoWay模式時,為了是綁定源的變化能實時通知到綁定目標,源對象中必須實現INotifyPropertyChanged接口。也就是綁定目標的顯示與綁定源同步,必須滿足兩個條件:

(1)       選擇OneWayTwoWay模式

(2)       綁定源實現INotifyPropertyChanged接口

public class Employee:INotifyPropertyChanged

{

/*public int Number { get; set; }   //員工號

public string Name { get; set; }  //姓名

public string Sex { get; set; }    //性別

public int BirthYear { get; set; } // 出生年份*/

public event PropertyChangedEventHandler PropertyChanged;

private int number;

public int Number

{

get { return number; }

set

{

this.number = value;

INotifyPropertyChanged("Number");

}

}

private string name;

public string Name

{

get { return name; }

set

{

this.name = value;

INotifyPropertyChanged("Name");

}

}

//sex birthYear相同代碼

private void INotifyPropertyChanged(string propertyName)

{

//throw new NotImplementedException();

if (PropertyChanged != null)

{

PropertyChanged(this,new PropertyChangedEventArgs(propertyName));

}

}

}

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒙山县| 城步| 永顺县| 九寨沟县| 密山市| 鹤壁市| 平顶山市| 榆树市| 千阳县| 灯塔市| 故城县| 文山县| 常山县| 六枝特区| 宁安市| 浙江省| 贵港市| 宜城市| 资兴市| 渭源县| 阿瓦提县| 临朐县| 体育| 海晏县| 内丘县| 宝山区| 宣城市| 江都市| 长治市| 赞皇县| 九寨沟县| 临湘市| 锦州市| 永宁县| 宜兴市| 永顺县| 大港区| 仙居县| 大新县| 台中市| 万全县|