Silverlight数据绑定
来源:互联网 发布:c语言中memset函数 编辑:程序博客网 时间:2024/05/19 12:13
Silverlight数据绑定引擎
(1)Silverlight中数据绑定基于Silverlight数据绑定引擎,
(2)该绑定引擎实现从UI元素到CLR源数据对象之间的关联,创建并维护两者之间的数据通道。
(3)通过该绑定引擎,将CLR源数据对象包含的数据反映到UI元素,并可以将UI中对数据的更改反馈回源数据对象。
一次数据绑定包含两个最基本的要素:
(1) 绑定目标(FrameworkElement的依赖项属性)
(2) 绑定源(对象的属性)
绑定源
即数据的来源,可以是任意的CLR对象,通常实际需要的是该对象的某一个特定属性.
绑定目标
显示数据的UI元素,可以是任何FrameworkElement类型的对象,实际绑定的也是该对象的某一个特定属性。
绑定模式
主要决定数据流的方向,可以是单向或双向。
值转换器
需要时用以进行数据类型或格式的转换
绑定引擎所属的这些信息,主要有System.Windows.Data 中的Binding对象来提供。
以下是Binding对象的几个重要属性:
(1)path
指定绑定源对象中用以提供数据的属性,通过属性路径语法来表示
(2)Mode
指示数据绑定模式,可以为OneTime、OneWay、TwoWay
(3)Converter
值转换器对象,需要时设置,必须是一个IValueConverter接口类型的对象
(4)设置绑定源
有四种方法:
1、 Source:表示绑定源对象。
2、 RelativeSource:通过指定绑定源相对于绑定目标的位置来标识绑定源
3、 ElementName:当绑定源也是UI对象时,获取或设置其名称用以标识绑定源
4、 通过设置UI元素的DataContext属性来指定绑定源,上下文的表示方法
绑定目标通过UI元素的SetBinding方法来进行设置(当然也可以在XAML中直接指定)。
三种模式的数据绑定。
OneTime
单向一次绑定,在绑定创建时使用源数据更新目标,适用于只显示数据而不进行数据的更新(只在绑定创建时更新一次数据源,之后绑定目标的显示将与绑定源的变化无关)
OneWay
单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适用于显示变化的数据(绑定创建时及之后绑定源的每一次变化都会更新绑定目标。)
TwoWay
双向绑定,在任何时候都可以同时更新源数据和目标。(数据在绑定源与绑定目标之间可相互流动,源与目标任一方的变化都会立即通知到对方并引发对方的更新,双方是实时同步的。)
注意:当选择OneWay或TwoWay模式时,为了是绑定源的变化能实时通知到绑定目标,源对象中必须实现INotifyPropertyChanged接口。也就是绑定目标的显示与绑定源同步,必须满足两个条件:
(1) 选择OneWay或TwoWay模式
(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));
}
}
}
本文转自 http://6685704.blog.51cto.com/6675704/1150208
- silverlight教程 silverlight 数据绑定
- Silverlight 数据绑定(Binding)
- Silverlight的数据绑定
- Silverlight 数据绑定(Binding)
- silverlight 数据绑定模式
- silverlight数据绑定
- Silverlight数据绑定/IValueConverter
- Silverlight数据绑定
- Silverlight中的数据绑定学习
- Silverlight 数据绑定相关问题
- Silverlight数据绑定转换示例
- silverlight绑定弱类型数据
- Silverlight数据绑定--元素属性绑定
- Silverlight 数据绑定 (1):怎样实现数据绑定
- Silverlight 数据绑定 (1):怎样实现数据绑定
- (11):Silverlight 2 数据绑定
- Silverlight 数据绑定 (2):Source to Target
- Silverlight 3 DataGrid简单数据绑定
- MySQL的数据类型和建库策略
- 二叉查找树
- 多层神经网络
- PopupWindow(三)
- 7.16----jsp
- Silverlight数据绑定
- unity3d 之 在Unity3D中使用静态变量
- Android 搭建开发环境之配置JDK和SDK
- Win7 EXE应用程序图标丢失的解决办法
- 【rzxt】Windows7 64位与32位两者之间到底有什么区别呢?
- poj2015-Permutation Code
- linux下安装netbeans, eclipse的IDE 的方法
- Java中的字符串分割函数
- hdu 2546(dp)