Blend数据绑定技术与Windows Phone 7开发指南
1. Blend数据绑定技术
1.1 列表 - 详情数据绑定操作
在开发过程中,从数据面板拖动多个项目到画板上,会生成一个控件网格。运行项目后,点击列表框中的任何项目,所选项目的详细信息会显示在详细信息区域(文本块控件网格)。你可以自由更改子网格中项目的布局、修改相关数据模板等。
以下是添加额外项目之前的相关标记代码:
<Window
... >
<Window.Resources>
<CollectionDataContext:PurchaseOrders
x:Key="PurchaseOrdersDataSource" d:IsDataSource="True"/>
<DataTemplate x:Key="PurchaseOrderTemplate">
<StackPanel>
<TextBlock Text="{Binding Description}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
<Grid x:Name="LayoutRoot" DataContext="{Binding Source=
{StaticResource PurchaseOrdersDataSource}}">
<ListBox HorizontalAlignment="Left"
ItemTemplate="{DynamicResource PurchaseOrderTemplate}"
ItemsSource="{Binding}" ... />
</Grid>
</Window>
添加剩余详细项目后,子网格定义了自己的数据上下文,绑定到列表框的
SelectedItem
属性。以下是部分标记代码:
<Grid DataContext="{Binding SelectedItem, ElementName=listBox}"
Margin="257,53.92,36,0"
d:DataContext="{Binding [0]}" Height="97" VerticalAlignment="Top">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top"
Width="100" Text="Amount"/>
<TextBlock Text="{Binding Amount}" HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="150" Margin="104,0,0,0"/>
...
</Grid>
需要注意的是,第二个
DataContext
属性(带有
d
标签前缀)由Blend设计器界面使用,数据绑定操作并不需要它。
1.2 探索示例数据的作用
在构建用户界面时,开发者常常需要处理一些临时数据。例如,真实数据可能来自正在构建的关系数据库,或者程序要使用的业务对象目前只是UML类图。在使用Blend构建WPF或Silverlight应用程序时,可以插入示例数据。示例数据能让你在实时数据不可用时可视化用户界面,也有助于学习数据绑定技术。
1.2.1 向项目中插入示例数据
步骤如下:
1. 创建一个名为
FunWithSampleData
的新WPF或Silverlight应用程序项目。
2. 打开数据面板,选择向项目中插入示例数据,保持对话框中的所有设置为默认值。
此时,数据面板会填充一些测试项目,包括一个自定义集合(扩展自
ObservableCollection
)和一些默认属性(名为
Property1
和
Property2
)。双击当前集合节点,将其重命名为
PersonCollection
,将前两个属性重命名为
FirstName
和
LastName
。
1.2.2 添加额外属性
可以使用“新建属性”按钮向数据存储中添加额外属性。点击下拉箭头,会看到四个选项:
-
添加简单属性
:用于添加字符串、数字、布尔值或图像属性,默认添加字符串属性,创建后可更改。
-
添加复杂属性
:用于创建可以包含子属性的属性,即带有自定义属性的新类。
-
添加集合属性
:用于创建一个扩展自
ObservableCollection
的新类。
添加一个名为
Picture
的新“简单属性”,它会自动默认为字符串数据属性。
1.2.3 修改数据类型和值
添加属性后,可以进一步配置其数据类型。有两种方法:
- 点击嵌入式属性下拉编辑器更改属性值,例如将
Picture
属性更改为图像。
- 点击“编辑示例值”按钮配置所有属性数据类型,在弹出的对话框中将
LastName
属性从布尔值更改为字符串数据类型,还可以更改要生成的测试记录数量。
1.2.4 将示例数据绑定到用户界面
可以将数据面板中的元素拖放到画板上。要注意数据面板是处于列表模式还是详细信息模式,插入示例数据默认处于详细信息模式。将
PersonCollection
节点拖到数据网格控件上(数据面板处于列表模式),可以看到示例数据的可视化效果。此外,还可以将示例数据从扁平对象列表转换为层次结构格式,并绑定到树视图控件上。
1.3 数据绑定的其他主题
1.3.1 绑定到关系数据库数据
应用程序的数据通常存储在关系数据库中,.NET平台提供了名为ADO.NET的全面数据访问API。使用此编程模型可以以多种方式操作关系数据库表。通常,数据访问逻辑会打包到一个专用的.NET库中,供外部应用程序引用。在Blend项目中引用数据访问库时,可以创建一个新的对象数据源,调用数据对象上的特定方法来获取数据,然后将结果集通过数据面板绑定到UI元素。如果想了解更多关于使用ADO.NET构建数据库以及在Blend项目中利用它的信息,可以在Blend用户指南中查找“试一试:显示示例SQL数据库中的数据”主题。
1.3.2 Blend数据绑定项目模板(MVVM)
Blend的WPF、Silverlight项目(以及安装了必要模板的Windows Phone 7项目)可以使用Model - View - ViewModel(MVVM)设计模式。该模式有助于构建UI层和业务逻辑层尽可能松散耦合的应用程序。如果选择数据绑定项目模板,起始代码将遵循MVVM设计模式。如果对MVVM感兴趣,可以创建一个新的Blend数据绑定项目,检查生成的起始代码,也可以阅读MSDN杂志上的文章“WPF应用程序的Model - View - ViewModel设计模式”。
2. Windows Phone 7开发
2.1 安装Windows Phone 7 SDK
由于Windows Phone 7设备在Expression Blend 4和Visual Studio 2010发布后推出,若要创建Windows Phone 7项目,需要下载并安装免费的软件开发工具包(SDK,正式名称为Windows Phone开发者工具)。最简单的方法是访问Expression Blend主页的下载区域,打开网页浏览器,导航到以下URL:
http://www.microsoft.com/expression/windowsphone
找到并点击“下载开发者工具”链接,下载一个小的可执行程序开始安装过程。如果安装程序在兼容模式下无法运行,再次下载安装程序并保存到桌面,右键单击可执行文件,选择“以管理员身份运行”。下载完成后,点击“运行”按钮开始正式安装过程,接受许可协议后,点击“立即安装”按钮安装全套Windows Phone 7开发工具。整个安装过程可能需要一些时间,安装完成后可能需要重启机器。建议安装完成后进行标准的Windows更新。
2.2 检查新工具和模板
安装完成后,开发机器会有一些新的工具和模板,具体安装内容取决于当前机器配置。如果是全新的机器(没有Visual Studio、Blend或.NET/Silverlight平台的痕迹),会安装以下项目:
- Visual Studio 2010 Express
- Microsoft .NET Framework 4.0版本
- 最新版本的Silverlight
- Windows Phone 7模拟器
- 免费的“Windows Phone 7”版本的Expression Blend
- Microsoft XNA Game Studio 4.0
如果已经安装了Visual Studio 2010,安装程序不会再添加Visual Studio 2010 Express副本,而是更新现有安装,添加新的Windows Phone 7项目模板。如果已经有Expression Blend,不会得到免费的“仅适用于Windows Phone 7”版本的Blend,而是更新现有Blend安装,添加Windows Phone 7项目模板。Windows Phone 7模拟器会安装在Windows开始菜单中,构建Windows Phone 7项目时会自动启动。
2.3 Microsoft XNA Game Studio 4.0的作用
点击Windows开始按钮,会找到一个新的Microsoft XNA Game Studio 4.0文件夹。XNA Game Studio 4.0是一个编程环境,允许使用Visual Studio(不是Expression Blend)为Windows Phone、Xbox 360控制台和基于Windows的计算机创建游戏。它包括XNA框架(一组用于游戏开发的托管库)和一些Visual Studio 2010项目模板。虽然不使用XNA Game Studio也可以为Windows Phone 7构建视频游戏,但它提供了更强大的库,可用于构建更复杂的视频游戏软件。如果对探索该平台感兴趣,可以访问以下网站获取更多关于游戏开发的教程:
http://create.msdn.com/en-us/education/roadmap
安装Windows Phone 7 SDK后,会有一组新的Visual Studio 2010项目模板可供使用,可以针对多种平台(Xbox 360、Windows Phone 7或Windows操作系统本身)进行开发。
2.4 Windows Phone 7开发项目类型及特点
可创建并修改几种主要的Windows Phone项目类型,来了解Windows Phone 7开发的不同方面:
-
简单项目
:基础的项目类型,适合初学者熟悉Windows Phone 7开发的基本流程和环境,能快速搭建起一个具备基本功能的应用框架。
-
全景项目
:提供了一种独特的信息展示方式,用户可以通过水平滚动查看多个页面的内容,类似于全景照片的浏览体验,常用于需要展示大量信息或内容分类较多的应用。
-
透视项目
:以标签页的形式组织内容,用户可以通过点击不同的标签快速切换查看不同的内容板块,适用于内容模块化、需要快速导航的应用。
2.5 Windows Phone 7开发注意事项
虽然Windows Phone 7使用的编程模型与Silverlight基本相同,但仍需学习一些特定于手机的编程技术,如导航框架的使用、与手持设备的交互等。由于本文重点是介绍如何使用Blend设计用户界面,所以不会深入讲解具体的编码技术。不过,在文章结尾会提供一些有用的在线资源,方便大家进一步探索相关主题。
3. 总结与展望
3.1 数据绑定技术总结
Blend提供了多种将数据源值连接到用户界面元素的方法。从控制到控制的数据绑定开始,学习了如何使用“创建数据绑定”对话框、构建和注册自定义数据转换类,以及了解单向和双向数据绑定操作的作用。接着,利用Blend数据面板创建对象数据源,创建自定义对象集合并将其绑定到各种UI元素,还学会了使用自定义数据模板来定制数据绑定操作的显示方式。最后,介绍了示例数据的使用,它可以在真实数据不可用时作为占位符,帮助可视化用户界面,同时也有助于学习数据绑定技术。
3.2 Windows Phone 7开发总结
安装Windows Phone 7 SDK后,开发环境得到了扩展,能够创建适用于Windows Phone 7平台的项目。了解了不同项目类型的特点和用途,为开发多样化的应用奠定了基础。虽然Windows Phone 7开发与Silverlight有相似之处,但仍需掌握一些特定的编程技术。
3.3 未来探索方向
对于数据绑定技术,可进一步探索绑定到关系数据库数据的详细实现,深入研究MVVM设计模式,提高应用程序的可维护性和可扩展性。在Windows Phone 7开发方面,可以结合提供的在线资源,学习更多手机特定的编程技术,开发出功能丰富、用户体验良好的应用程序。
3.4 在线资源推荐
- Blend用户指南 :包含了关于数据绑定、示例数据创建、数据库访问等方面的详细教程和信息,可在其中查找相关主题深入学习。
- MSDN杂志文章 :如“WPF应用程序的Model - View - ViewModel设计模式”,能帮助深入理解MVVM设计模式的原理和应用。
-
XNA Game Studio相关网站
:
http://create.msdn.com/en-us/education/roadmap提供了大量关于游戏开发的教程,包括人工智能算法、物理引擎应用等内容,适合对游戏开发感兴趣的开发者。
4. 流程图与表格总结
4.1 示例数据操作流程图
graph LR
A[创建项目] --> B[插入示例数据]
B --> C[重命名项目]
C --> D[添加额外属性]
D --> E[修改数据类型和值]
E --> F[绑定示例数据到UI]
4.2 数据绑定与Windows Phone 7开发关键知识点表格
| 主题 | 关键知识点 |
|---|---|
| 数据绑定 | 列表 - 详情数据绑定操作、示例数据的使用、绑定到关系数据库数据、MVVM设计模式 |
| Windows Phone 7开发 | 安装SDK、不同项目类型特点、手机特定编程技术 |
通过以上内容的学习,你可以掌握Blend数据绑定技术和Windows Phone 7开发的基础知识,为进一步开发高质量的应用程序打下坚实的基础。希望大家在实践中不断探索和学习,开发出更优秀的作品。
超级会员免费看
74

被折叠的 条评论
为什么被折叠?



