什么是布局?

· Panels控件(其实就是容器控件)

· 对内部的子控件提供了自动布局功能

· 可以在容器控件内继续添加容器控件(一个复杂的界面往往是多种容器控件嵌套而组成的)

· 一些界面器控件也是嵌套了容器控件而组成的(比如ListBox就嵌套了StackPanel控件)

· 你也可以自己来制作一些容器控件

一些常见的布局控件

Canvas

最原始的容器控件,对子控件无自动布局功能。

StackPanel

能将子元素排列成一行(可沿水平或者垂直方向)

WarpPanel

元素从左到右按顺序排列,在包含他们的框的边缘处将内容换至下一行。

Grid

定义由行和列的灵活网格区域。

ViewBox

可拉伸或者缩放子元素。

Border

在一个子元素的周围绘制边框、背景。

DockPanel

可将子元素沿其边缘进行定位。

ScrollViewer

使内容显示在比其实际大小小的区域中,并适当显示滚动条。

具体使用
在新建立了Silverlight项目后,你会看到Blend自动帮你添加了一个布局控件“LayoutRoot”。

在右侧的属性栏目你可以看到这个布局控件的类型。

在右侧的工具栏中你可以找到更多的布局控件。

或者你知道自己想要的控件 直接输入他的名字便可以快速的找到他。

这里在LayoutRoot下添加上两个最简单的布局控件Canvas,并改变他们的背景颜色予以区分。

这里记住一个概念“所有的父控件对其子控件进行布局”。

尝试移动“Father”的位置,“Son”也跟着移动。即使“Son”在舞台上不在“Father”的内部,只要他们的在层次上的关系不发生变化,“Son”会一直受“Father”的影响。在Canvas中的表现是子控件和父控件的相对位置一直保持不变。

你也可以对现有的布局进行转化。

也能对现有的元素快速的组合到容器中。

所谓搭建自适应布局就是利用Grid的特性来搭建界面。

其内部的元素会根据父控件的属性来自行的调整自身的位置大小。

更加详细的Grid使用请翻阅Blend的帮助文件。

UI设计师

  曾几何时我从没想过要与艺术家打交道,但是Silverlight改变了这一切。UI设计师,已经成为Silverlight项目开发中必不可少的一员。请大家记住,Silverlight程序界面长的和Winform一样,就一文不值。

  艺术家和程序员是一对奇特的组合(想想就有趣),与UI设计师建立良好的沟通,对于开发人员来说是很难且关键的一步。UI设计师往往不懂软件工程,大多数UI设计师只注重是否好看,不管能不能实现。所以遇到这种情况往往把程序员难得半死,你和他讲软件工程,人家和你说设计原理,构图,色相。最终的结果就是俩人拍桌子上椅子。与UI设计师打交道不容易,希望每一个开发人员清楚的认识到,Silverlight带给你的第一个挑战就是先把你和老虎关进笼子里,然后你要尽快的学会与它和睦相处。抛开设计水平不谈,一个好配合的UI设计师一定具有以下特点,很有耐心,重视用户需求,谦虚,好学。怎么与设计师打好交道,因人而异,没有以逸待劳的办法。开发人员希望设计师修改界面设计时最容易产生分歧,此时请态度一定谦和,注意语气。

  一个好的Silverlight作品,设计师功不可没,应尊重我们的设计师,把他们当成战友,一起分享成功。

没有设计师的日子

  可能你是一个小公司的开发人员,公司人力有限,你只能又当爹来又当妈,对于习惯线性思维的程序员来说,如果设计出漂亮的UI呢?

1、上网搜索配色图谱

2、不计算黑色,白色的情况下,你的界面使用颜色不要过多,3~5种最佳。

3、布局简单,大方,控件风格统一,彼此保留合适间距。

4、控件的细节可以借鉴其他软件作品。

5、表单尽量使用dataform,他会省去你很多工作。

6、如果你使用riaservice, vs2010的会帮你自动排列好控件。

7、业余时间多翻翻漂亮网站,等设计师不如让自己成为设计师,哪怕是业余的也好。

8、三个臭皮匠顶个一个诸葛亮,既然是业余的就要承认自己的业余,东西做完了多给周围朋友看,让大家挑挑刺。

“所有真正杰出的设计一旦被设计好,看起来都是那么的简单和显而易见。但是在获得杰出设计的过程中,需要付出令人难以置信的努力“-Michael Abrash

Expression Blend学习二UI布局的更多相关文章

  1. Expression Blend学习四控件

    原文:Expression Blend学习四控件 Expression Blend制作自定义按钮 1.从Blend工具箱中添加一个Button,按住shift,将尺寸调整为125*125; 2.右键点 ...

  2. Expression Blend学习5控件

    原文:Expression Blend学习5控件 Expression Blend ButtonStyle- TextButton 本章以TextButton为例,讲解如何最简单,最快速的制作一个专业 ...

  3. Expression Blend学习动画基础

    原文:Expression Blend学习动画基础 什么是动画(Animation)? 动画就是时间+换面的组合,画面跟着时间变化.最常见的是flash的动画,还有GIF动态图片. 动画的主要元素 时 ...

  4. UI布局 自定义布局

    今天学习了UI布局当中的自定义的布局的部分,在开始的时候先动手写了一个跟随手指移动的小兔子的实例,初步的了解了布局管理器的概念之后开始正式进行布局管理器,其中包括相对布局,线性布局,帧布局,表格布局, ...

  5. AppleWatch___学习笔记(二)UI布局和UI控件

    1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...

  6. 【全面解禁!真正的Expression Blend实战开发技巧】十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel)

    原文:[全面解禁!真正的Expression Blend实战开发技巧]十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel) 写这篇文 ...

  7. 【全面解禁!真正的Expression Blend实战开发技巧】第二章 你好,UI设计师

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第二章 你好,UI设计师 你好,UI设计师 曾几何时我从没想过要与艺术家打交道,但是Silverlight改变了这一切.UI设计师 ...

  8. 零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」

    原文:零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Bl ...

  9. 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」

    原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...

随机推荐

  1. XML 标准诞生 20 周年:这个世界,它无处不在

    可扩展标记语言(XML)于 1998 年 2 月 10 日成为 W3C 的推荐标准.昨天,2018 年 2 月 10 日恰好是 W3C 推出的 XML 标准发布 20 周年纪念日.可点此查看原始的新闻 ...

  2. 数据结构 Tricks(一)—— 父节点和左右孩子索引号之间的关系

    如果以第 0 个位置开始标记树根节点,则第 i 个结点的左右孩子分别为: 2i+1 2i+2 反之,如果一个结点的标号为 i,则其父节点为: i/2:i 为左孩子结点: i/2-1:i 为右孩子结点: ...

  3. NOIP模拟 string - ac自动机

    题目大意: 给n个字符串(100位以内),和一个长串s(100000位以内),求n个字符串在s中出现的次数.然后给出m次修改,每次修改s中的一个字符,对于每次修改,输出更新后的答案(修改会保存). 题 ...

  4. WPF入门(三)->几何图形之线条(LineGeometry)

    原文:WPF入门(三)->几何图形之线条(LineGeometry) 前一章我们对wpf的xaml语言有了一定的了解,那么我们现在开始来学习如何使用wpf来画出几何图形. LineGeometr ...

  5. sql server中触发器

    触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删 ...

  6. Swift异常处理:throw和rethrow

    Swift异常处理体现了函数式语言的特性.因此我们能够传一个会抛出异常的函数闭包(高阶函数)作为參数传到还有一个函数中(父函数),父函数能够在子函数抛出异常时直接向上抛出异常,这时用rethrowke ...

  7. Sitecore

    Sitecore 功能最强大.最丰富的企业级 .NET 网站内容管理系统.包含的功能如下所述: 内容编辑和会话中的个性化 用于预览访客所看到的网站内容的体验浏览器 设备和地理位置 IP 检测(需要额外 ...

  8. SCM文章9类:外部中断示例程序

    JP3遇见P0口,JP5遇见P3口,P1接受该发光二极管,什么时候P1所有的都是高时,,全亮度发光二极管.因为外部中断0和1用同样的方法.这里只是外部中断0计划. #include<reg51. ...

  9. [转载]Android Studio卡在refreshing gradle project的原因和快速解决办法

    转载请注明出处:http://blog.csdn.net/u013005791/article/details/60143750 这个问题遇到过很多次,网上也有很多解决办法,但是好像都没有发现refr ...

  10. Eclipse Che安装依赖

    java Java 用于运行Che的服务器和用于创建Plug-in包的SDK工具,所以需要安装Java Jdk 1.8 如果只是运行Che的话下载JRE就足够了,但是加入你需要从源代码编译的话你还需要 ...