前文我们曾经描述过,微软把Silverlight控件大致分为三类:
第一类: Layout Controls(布局控件)
第二类: Item Controls (项目控件)
第三类: User Interaction Controls(用户交互控件)
我们已经对第一类布局控件在Blend中的应用进行了描述。本文将介绍Item Controls,也称为项目控件;和User Interaction Controls,也称为
用户交互控件.
Item Controls (项目控件)
在实际
项目中,我们经常会遇到处理数据集合或者数组的情况,而处理数据集合最好的
方法就是
使用“Binding”绑定。
正如您所知道的,在ASP.NET中,就已经应用了“Binding”绑定的概念,其优势在于节省了大量的开发时间,降低了开发难度。而在Silverlight中微软加强了Binding
功能,并且使用Item Controls(项目控件)来
显示和处理数据集合和数组类型数据。Silverlight提供了四种标准项目控件,分别是List
Box,Combo
Box,TabControl和TreeView。 下面,我将演示在Blend中如何使用这些控件。
根据上文描述,使用Item Controls前,首先需要绑定数据,而绑定数据需要
有相关数据源,所以,我们需要先定义数据源。本文依旧使用前文例程SilverlightBlendDemo,在Silverlight客户端创建
一个新的Usercontrol,ItemControlsDemo.xam
l.
创建完毕后,主设计窗口将呈现ItemControlsDemo的UI设计界面,看右边
属性栏,有三个Tab,
其中包含“Data”,选中Data,
该窗口允许
用户在Blend中定义数据源,导入XML格式数据,定义外部数据源等
功能。
首先,我们选择“Define New Sample Data..",定义
一个新的例程数据源,名字使用
默认SampleData
source。其中,Define in是指定该数据源的应用访问,
默认为整个项目,当然,如果作为测试,也可以指定该数据源仅应用于当前打开文档。这里,我们使用
默认设置。
创建完成后,在右边Data数据栏中,
会出现SampleData
source选项,而在该数据源下包含
一个集合“Collection”,该集合
默认有两个
属性“Property1”和“Property2”。在项目应用中,可以根据需要再
添加新的
属性。
由于我们
添加的是例程数据源,Blend已经在该数据源中
添加了例程数据,根据需求,我们可以对例程数据进行
修改。首先选择Collection,然后点击
![Expression Blend实例中文教程(6) - 项目控件和用户交互控件快速入门 Expression Blend实例中文教程(6) - 项目控件和用户交互控件快速入门](http://img.voidcn.com/vcimg/static/loading.png)
编辑例程数据,
点击OK,例程数据建立完成。
下面,看看在Blend中如何使用Item Controls装载数据源。首先我们测试List
Box:
在左边工具栏,选择List
Box控件,然后在ItemControlsDemo.Xaml设计
页面,画
一个List
Box。
1
<
UserControl.resources
>
2
<
DataTemplate
x:Key
="ItemTemplate"
>
3
<
StackPanel
>
4
<
TextBlock
Text
="
{Binding 网址}
"
/>
5
<
TextBlock
Text
="
{Binding 网站}
"
/>
6
</
StackPanel
>
7
</
DataTemplate
>
8
</
UserControl.resources
>
9
<
Grid
x:Name
="LayoutRoot"
DataContext
="
{Binding source={Staticresource SampleDatasourcE}}
"
>
10
<
ListBox
HorizontalAlignment
="Left"
Margin
="48,45,43"
Width
="249"
ItemTemplate
="
{Staticresource ItemTemplatE}
"
Itemssource
="
{Binding Collection}
"
/>
11
</
Grid
>
仍旧按照以上
方法,拖拽Collection到Combo
Box上,即可看到数据已经进行绑定。
同样,在Treeview中,也可以正常绑定。
在数据绑定的时候,Data栏目,会有黄色的框,表示“Data Binding”。
以上则是使用Blend对Item Controls进行数据绑定的
方法。由于文本主要讲述Blend应用,这里,就不再对Item Controls的
属性进行赘述,如果您有问题可以留言给我。
User Interaction Controls(用户交互控件)
Silverlight控件中,User Interaction Controls是面向
用户行为交互,该控件和ASP.NET和WPF中的大部分交互控件相同,
用法也基本相似。其选取和设计,和前文Item Controls相同,这里就不再赘述。
需要注意的是,不同的交互控件,具有不同的交互事件,从而达到不同的交互
效果。在后文,如果有需要,我将详细解释说明。
截至这里,Blend使用控件的
快速入门结束,如果您有好的建议和问题,请您留言或者加QQ群一起讨论。
欢迎加入专注Silverlight QQ群:超级群 22308706,37891947,100844510