【写在Blend 4发布前】快速学习Expression Blend开发三要素

简介:
上个月写完了 Expression Blend实例中文教程基础篇系列,陆续收到不少朋友的Email和留言,其中多数是刚入门的Silverlight开发人员,不少人在问,目前软件开发角色分工细化,是不是做后台的,就可以不用学习前台设计?这个问题让我想起曾经在园子里看到过相关的讨论,同时也让我想起工作中软件开发角色的分工。为了不偏离本篇的主题,我不再扩展职业分工化的讨论,直接说说我对上面问题的回答,在我个人来看,作为软件开发人员,专注是必须的,但是专注的同时也需要扩展自己的眼界,学习相关的辅助开发工具,不仅可以提高开发效率,而且还可以节省开发时间,同时也可以保证代码效率。众所周知,Expression Blend其本身主要功能就是支持WPF和Silverlight项目UI设计,通过WYSIWYG的方式快速创建项目UI,动画效果以及自定义模板修改等。作为后台开发人员,如果仅使用输入代码的方式来创建以上的功能,会耗费很大的精力和时间,特别是控件模板的定义和修改。 所以说,作为Silverlight开发人员来说,学习Expression Blend的使用是必须的。
 
下周Expression Blend 4即将发布,为了帮助开发人员快速学习和理解Expression Blend,随后平缓过渡新版本,我将列出学习Blend的三个要点,掌握了这三点,基本算是掌握了Blend开发的核心精华。尽管是Blend 4,这三点同样适用。
 
所谓Expression Blend开发三要素:
- 掌握布局控件(Layout)
- 理解动画设计(Animations)
- 理解状态和模板 (States,Templates)
 
三个要素,看起来其实是WPF和Silverlight项目开发中设计基础,也是项目开发中使用最频繁的三个部分。(下文我将使用Blend 4 RC进行抓图演示)
 
1. 布局控件
布局控件是控制用户界面最基础的控件。Blend 4中,提供以下几种布局控件,其中Grid,Canvas,StackPanel和Border是标准布局控件。
Grid: 是WPF和Silverlight项目中使用最多的布局控件,和HTML的Table功能相似设计人员可以根据需要,自定义设置行数和列数,放置不同的内容和控件到每行每列中。Blend对Grid的设计支持非常的直接和简单。
Canvas: 是WPF和Silverlight项目中布局最为灵活的控件,在游戏设计中最为常见。
StackPanel和Border: 这两个布局控件,出现的最早,Silverlight 1.0就已经支持,相对来说功能简单;StackPanel控件。从字面意思理解,是堆栈面板的意思。堆栈内的所有内容将按照顺序进行排列,排列方式分水平排列和垂直排列两种方式。而Border是允许用户创建带边框的布局控件。
ScrollViewer:是从WPF中移植来的,针对大内容控件的布局控件。由于该控件内仅能支持一个子控件,所以在多数情况下,ScrollViewer控件都会和Stackpanel,Canvas和Grid相互配合使用。
ViewBox:是Silverlight Toolkit控件之一,其主要作用是拉伸和扩展位于其内的控件,达到不同的布局效果。
另外值得一提的是Blend 4中推出一款新布局控件,Path-Based Layout,可以轻松实现多角度,多视角的布局界面效果。该特性将在随后文章详细讲解。
 
关于布局的学习详细可以参考 Expression Blend实例中文教程系列布局篇
 
2. 动画设计
作为RIA应用,绚丽的动画效果,可以提高用户体验。Blend对于动画设计提供了方便快捷的方式,开发人员只需要理解一些设计概念,就可以使用Blend快速设计出不同的动画效果。
使用Blend设计动画,使用最多的是StoryBoard(故事板)。通过Objects and Timeline可以快速的创建和调用StoryBoard,另外Blend提供专业的动画设计窗口,选择菜单项 Window -> Workspaces -> Animation,就可以切换到动画设计窗口。
 
 
通过设置关键帧(Key Frame)可以创建动画过渡效果。
 
 
关于动画设计的学习详细可以参考 Expression Blend实例中文教程系列动画篇
 
3. 状态和模板设计
在Silverlight和WPF项目设计中,很多时候,开发人员需要创建自定义控件效果,而理解状态和模板对于创建和修改自定义控件效果是非常重要的。
通过理解States,可以明白Visual States Model(视觉状态模块)的工作流程,同时可以轻松的定义控件不同状态下的显示效果。
而学习Template,可以根据需求定义控件样式,使项目控件个性化。
States和Template的话题篇幅较长,这里不再一一描述,学习和理解状态和模板,请参考 Expression Blend实例中文教程系列模板篇
 
以上三点要素,基本已经包含了Blend开发WPF和Silverlight项目最常用也是最精华的部分,Blend还有很多强大的功能,基本都是围绕着这三点要素进行了扩展。大家可以在以后的学习和应用中,慢慢的体会和理解。不过有了这三点作为基础,Blend 4的入门已经变的很简单了。
 

本文转自 冷秋寒 51CTO博客,原文链接:http://blog.51cto.com/kevinfan/325175 ,如需转载请自行联系原作者

相关文章
|
Web App开发 流计算 内存技术
安防领域常用的视频流协议介绍
安防领域常用的视频流协议介绍
749 0
|
搜索推荐 Java 数据建模
基于 SpringBoot+Vue+MySql 的家乡特色菜系统研究与实现(一)
基于 SpringBoot+Vue+MySql 的家乡特色菜系统研究与实现
|
存储 SQL 开发框架
可视化查询(sp_helptext)——快速查询包含指定字符串的存储过程(附源码)
可视化查询(sp_helptext)——快速查询包含指定字符串的存储过程(附源码)
|
6月前
|
机器学习/深度学习 算法 机器人
强化学习:时间差分(TD)(SARSA算法和Q-Learning算法)(看不懂算我输专栏)——手把手教你入门强化学习(六)
本文介绍了时间差分法(TD)中的两种经典算法:SARSA和Q-Learning。二者均为无模型强化学习方法,通过与环境交互估算动作价值函数。SARSA是On-Policy算法,采用ε-greedy策略进行动作选择和评估;而Q-Learning为Off-Policy算法,评估时选取下一状态中估值最大的动作。相比动态规划和蒙特卡洛方法,TD算法结合了自举更新与样本更新的优势,实现边行动边学习。文章通过生动的例子解释了两者的差异,并提供了伪代码帮助理解。
411 2
|
存储 监控 NoSQL
MongoDB索引解析:工作原理、类型选择及优化策略
MongoDB索引解析:工作原理、类型选择及优化策略
ASCII码对应表chr(9)、chr(10)、chr(13)、chr(32)、chr(34)、chr(39)
chr(9) tab空格       chr(10) 换行      chr(13) 回车        Chr(13)&chr(10) 回车换行       chr(32) 空格符       chr(34) 双引号       chr(39) 单引号 chr(33) !        chr(...
1592 0
|
存储 设计模式 Java
Spring Boot中的事件溯源模式
Spring Boot中的事件溯源模式
|
11月前
|
资源调度 JavaScript 前端开发
在 Vue 3 中实现流畅的 Swiper 滑动效果
本文介绍了如何在 Vue 3 项目中集成 Swiper,涵盖了从安装、基本用法到丰富的配置选项。通过简单的示例,读者将学习如何创建响应式的图片轮播,利用 Swiper 的循环、自动播放和自定义分页功能,提升用户体验。无论是简单的幻灯片还是复杂的滑块效果,Swiper 都能轻松实现,帮助开发者快速构建出美观的滑动组件。
2207 0
|
机器学习/深度学习 人工智能 PyTorch
LabVIEW人工智能深度学习指南
LabVIEW人工智能深度学习指南
692 0
|
XML JavaScript 前端开发