前文我们曾经描述过,微软把Silverlight控件大致分为三类:
第一类: Layout Controls(布局控件)
第二类: Item Controls (项目控件)
Item Controls (项目控件)
在实际项目中,我们经常会遇到处理数据集合或者数组的情况,而处理数据集合最好的方法就是使用“Binding”绑定。正如您所知道的,在ASP.NET中,就已经应用了“Binding”绑定的概念,其优势在于节省了大量的开发时间,降低了开发难度。而在Silverlight中微软加强了Binding功能,并且使用Item Controls(项目控件)来显示和处理数据集合和数组类型数据。Silverlight提供了四种标准项目控件,分别是ListBox,ComboBox,TabControl和TreeView。 下面,我将演示在Blend中如何使用这些控件。
根据上文描述,使用Item Controls前,首先需要绑定数据,而绑定数据需要有相关数据源,所以,我们需要先定义数据源。本文依旧使用前文例程SilverlightBlendDemo,在Silverlight客户端创建一个新的Usercontrol,ItemControlsDemo.xaml.
创建完毕后,主设计窗口将呈现ItemControlsDemo的UI设计界面,看右边属性栏,有三个Tab,其中包含“Data”,选中Data,
首先,我们选择“Define New Sample Data..",定义一个新的例程数据源,名字使用默认SampleDataSource。其中,Define in是指定该数据源的应用访问,默认为整个项目,当然,如果作为测试,也可以指定该数据源仅应用于当前打开文档。这里,我们使用默认设置。
创建完成后,在右边Data数据栏中,会出现SampleDataSource选项,而在该数据源下包含一个集合“Collection”,该集合默认有两个属性“Property1”和“Property2”。在项目应用中,可以根据需要再添加新的属性。
点击OK,例程数据建立完成。
下面,看看在Blend中如何使用Item Controls装载数据源。首先我们测试ListBox:
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 >
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 >
这样就轻松实现了ListBox绑定例程数据。
同样,在Treeview中,也可以正常绑定。
在数据绑定的时候,Data栏目,会有黄色的框,表示“Data Binding”。
具体的定义,在Property属性栏中查看:
Silverlight控件中,User Interaction Controls是面向用户行为交互,该控件和ASP.NET和WPF中的大部分交互控件相同,用法也基本相似。其选取和设计,和前文Item Controls相同,这里就不再赘述。需要注意的是,不同的交互控件,具有不同的交互事件,从而达到不同的交互效果。在后文,如果有需要,我将详细解释说明。
截至这里,Blend使用控件的快速入门结束,如果您有好的建议和问题,请您留言或者加QQ群一起讨论。
欢迎加入专注Silverlight QQ群:超级群 22308706,37891947,100844510
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。