silverlight中使用Blend3绑定数据学习

 在silverligt中可以使用blend来绑定数据,而且更加的方便。

首先在blend菜单中打开 窗口-数据 窗口

 

 

SL支持两种范围的数据源,一种是项目中,表示整个项目都可以访问,另一种是文档内的,只有此文档(类)的可以访问

 

点第一个 定义新的示例数据

 

注意:一定要让当前处在设计或都折分模式上面的两个数据源才可以使用,不知道MS为什么这么设计

 

定义一个新的示例数据如下:

 

分别指定数据源名称和位置以及是否在程序运行时启用示例数据,我使用默认设置,确定。

 

在数据窗口就会出现相应的数据源信息,见下图

 

可以里面的集合属性和简单属性进行进一步编辑,如删除,增加,修改简单属性的名称和类型。另外还可以指定分层集合属性,用于绑定Tree等具有层级关系的控件。

 

修改属性信息后尝到试绑定到控件:

 1.拖动一个属性到设计界面,Blend会根据属性类型提示生成相应控件,可以使用Shift或Alt来完成选择控件属性或绑定到明细(控件已存在于设计界面上时可用)

 

如集合对象默认生成 ListBox来进行绑定,拖动完成后,Blend就会属性类型自动生成数据和选择相应控件进行绑定

 

这样就完成了一个最简单的数据绑定。

 

但是里面的内容却不是我想要的,在集合属性修改示例数据, 很不幸的是对简单属性(Name)的修改却没有提供,只有到数据代码定义(下面SampleDataSource.xaml)中去修改。

 

              

 

 

最后来看看生成的XAML代码。

首先是App.xaml , 因为指定数据源是可用作整个项目标的,可以数据源定义在此,否则定义到具体的类中。

 

 

页面的 XAML 代码:

 

可以看到ListBox的ItemTemplate进行了修改以适应两个属性的绑定要求。很奇怪为什么不把 DataTemplate也定义到App.xaml至少给个选项吧。

 

最后是项目结构也发生了变化,会在项目根目录下创建一个SampleData,这个名称在创建数据源时不可以指定很是杯具。

 

其中各个文件定义了数据源的属性,约束,数据,并且实现了INotifyPropertyChanged接口。

 

 

在绑定完成后控件属性和数据源会用黄色的线包括起来,

 

点击右边小按纽,可对绑定进一步编辑

 

在此可以指定绑定的属性,数据流方向,值转换器,转换参数等。

 

各个选项作用参见:http://blog.csdn.net/hwj383/archive/2010/07/21/5753952.aspx

 

还可以使用元素属性绑定到自身属性。

 

未完待续....

你可能感兴趣的:(SilverLight学习记录)