- 2
- 0
- 约8.33千字
- 约 13页
- 2018-04-30 发布于河南
- 举报
WP7数据绑定——教程
第5章 数据绑定
5.1数据绑定概述
将控件放置好,界面布局好之后,这些xaml元素通常处于静态模式,如果开发人员需要让这些元素动态第根据数据源,如远程数据库、云端数据、xml文件等进行交互,这时需要在托管代码中编写代码。比如:让一个TextBox控件根据数据源的更新状态而发生变化,同时当TextBox控件上的数据发生变化时,数据源也跟着更新,silverligt提供了一种简单的机制解决这个问题,开发人员只要确定哪个是数据源,哪个是数据目标即可。
数据绑定为基于 Silverlight 的应用程序提供了一种显示数据并与数据进行交互的简便方法,使得界面与程序逻辑分离。数据绑定必须包含一个绑定目标和一个绑定源。
绑定目标必须是FrameworkElement用户界面元素,通俗的讲就是界面控件,如TextBlock和TextBox控件。
绑定源非常广泛,通常是一个功能逻辑对象,如代码中的集合或者全局属性。
数据绑定的建立过程,就是将数据目标与数据源进行连接、通信的过程。借助于绑定目标的依赖属性和数据源属性进行相关联,当数据目标与数据源中被绑定的属性发生变化时,相互绑定的属性值将同时被触发,数据会即时被更新。
例如:将一个Image控件的Source属性绑定到一个Uri对象之后,那么此时Image控件的Source属性就是绑定目标一个依赖属性,而Uri对象就是Image控件的绑定源。
数据绑定将控件依赖属性与绑定源属性相关联,当Uri属性改变时,Image的Source属性将会发生变化,显示的图片也会发生变化。
如图:数据绑定的过程是 目标的依赖属性和数据源属性握手的过程。
注意:数据绑定只支持依赖属性和数据源(对象)属性进行绑定,不支持依赖属性与依赖属性之间进行绑定,比如,不支持一个Image控件的Source属性绑定到另外一个Image控件的Source属性。
5.2建立数据绑定
常用的一些绑定方案包括将 HYPERLINK /zh-cn/library/system.windows.controls.listbox(v=vs.95).aspx ListBox 绑定到标题列表,将输入窗体的 HYPERLINK /zh-cn/library/system.windows.controls.textbox(v=vs.95).aspx TextBox 绑定到客户数据对象,或者将 HYPERLINK /zh-cn/library/system.windows.controls.image(v=vs.95).aspx Image 绑定到当前用户的照片。
创建数据绑定,可以直接在xaml代码中创建,或者使用属性面板可视化创建,甚至可以在托管代码中创建,无论使用哪种方式,它们的最终目标需要创建System.Windows.Data.Binding对象。
只有成功创建该对象后,才可以在绑定目标与绑定源间建立通信管道,将绑定目标的依赖属性和数据源属性绑定在一起。
5.2.1,在xaml中建立数据绑定
下边通过一个案例讲解建立数据绑定的过程
这是一个图片查看器,该程序包含了存放图片信息的PictureDataClass.cs类,图片信息类包括图片的地址、图片名称和图片的拍摄日期,其中显示图片需要Image控件,图片名称和图片拍摄日期分别使用TextBlock控件,为了能够循环显示图片,还需要添加1个Button按钮,如图:
绑定的语法可以用大括号表示,下面是几个例子:
TextBlock Text={Binding Age} /
等同于:
TextBlock Text={Binding Path=Age} /
或者显式写出绑定方向:
TextBlock Text={Binding Path=Age, Mode=OneWay} /
步骤:
确定数据源 PictureDataClass.cs
public class PictureDataClass
{
public Uri pictureSource { get; set; }
public string pictureName { get; set; }
public DateTime pictureDate { get; set; }
}
确定绑定目标
Image控件的Source属性绑定到数据源pictureSource属性,文本控件的Text属性绑定到pictureName,另一个文本控件绑定到pictureDate属性
例如: Image Height=372 Source={Binding pictureSource} Margin=17,26,16,0 Name=MyImage Stretc
原创力文档

文档评论(0)