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

本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Blend 4 里的-「Viewbox」;

以及加码赠送安装扩充元件-「Silverlight Toolkit」。

?

本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Blend 4 里的-「Viewbox」;

以及加码赠送安装扩充元件-「Silverlight Toolkit」。

?

就是要让不会的新手都看的懂!

?

?<扩充元件>

若是你的Expression Blend 4里面没有Viewbox,那麽请到这里下载扩充元件

?

?下载後解压缩执行安装完成就可以使用了!

?

01

我们一步一步来做,看看 Viewbox到底的功用是什麽?

开启一个新专案後,在主要工作区放入一个Viewbox,并调整到适当的位子

?

接着,在Viewbox里面放入你想放的照片或图片;直接拖拉进Viewbox就可以了

再来用在Grid章节学到的,让我们的整个版面可以随着视窗放大缩小

(忘记了吗?快点去复习一下!)

?

完成後,按F5来看效果

?

我们的图片是不是保持等比例的缩放呢?

?

?02

Viewbox可以直接对应Transform的设定

对於Transform的设定,我在先前的章节-2.5D转换的使用技巧-里已经有介绍过了

?

最後附上此范例的Xaml,其实非常简单

		   1: <UserControl

		   2:     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

		   3:     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

		   4:     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"

		   5:     x:Class="viewbox.MainPage">

		   6:? 

		   7:     <Grid x:Name="LayoutRoot" Background="White">

		   8:         <Viewbox Margin="0" HorizontalAlignment="Center" VerticalAlignment="Bottom">

		   9:             <Viewbox.Projection>

		  10:                 <PlaneProjection RotationX="-63.989" RotationY="14.123" RotationZ="-17.461"/>

		  11:             </Viewbox.Projection>

		  12:             <Image Source="阿兵搞背香蕉(colorful).jpg"/>

		  13:         </Viewbox>

		  14:     </Grid>

		  15: </UserControl>

?

03

到这边,我们来重点整理:

(1)其实,Viewbox不只可以放入图档,也可以放影片

???? 所以如果想要做到全萤幕显示时,Viewbox是很好的Layout Controls

(2)Viewbox跟Border一样,一次至只能容纳一个子物件

??? 若是你想在Viewbox内加入第二个以上的子物件,那你必须先放入一个容器

??? 例如Grid、StackPanel、Canvas,而Broder若是用在这边,效用就不大了,请看Broder的介绍。

?

??? 我直接引用了msdn的xaml,有很清楚的示范;用的是StackPanel,里面放入了两个Image

		   1: <Grid x:Name="LayoutRoot" Background="White">

		   2:     <Viewbox Height="500" Width="600">

		   3:         <StackPanel Orientation="Horizontal">

		   4:             <Image Source="flower.jpg" />

		   5:             <Image Source="licorice.jpg" />

		   6:         </StackPanel>

		   7:     </Viewbox>

		   8: </Grid>

?

(3)Viewbox可以决定其子物件如何伸缩、对齐

(4)ViewBox可以使置入的子物件能随着视窗的缩放,但保持等比例

?

04

这里有一个外国人运用Viewbox所做出来的9格拼图小游戏

?

不过比较不一样的是,他是反过来用的

平常是拿Viewbox当容器,但是这边是把Viewbox当成笔刷的显示容器

这里的运用是让你把视窗拉大时,拼图的图片也可以变大来玩

?

?

老话一句,想要有好的版面设计、想要设计出心里想要的布局,一定要会善用容器喔!

还有很多Layout Controls,让我们慢慢的来学习吧! :)

?

?

本篇的教学就到此。

?

?

(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)

一步一步迈向HIE之路

喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!

若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您

 

零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 13 用实例了解布局容器系列-「Pathlistbox」I

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

  2. 零元学Expression Blend 4 - Chapter 11 用实例了解布局容器系列-「Border」

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

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

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

  4. 零元学Expression Blend 4 - Chapter 14 用实例了解布局容器系列-「Pathlistbox」II

    原文:零元学Expression Blend 4 - Chapter 14 用实例了解布局容器系列-「Pathlistbox」II 本章将延续上一章的范例,步骤解析. 本章将延续上一章的范例,步骤解析 ...

  5. 零元学Expression Blend 4 - Chapter 10 用实例了解布局容器系列-「StackPanel」

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

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

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

  7. 零元学Expression Blend 4 - Chapter 18 用实例了解互动控制项「CheckBox」II

    原文:零元学Expression Blend 4 - Chapter 18 用实例了解互动控制项「CheckBox」II 延续上一章的CheckBox教学,本章将以实作继续延伸更灵活的运用CheckB ...

  8. 零元学Expression Blend 4 - Chapter 17 用实例了解互动控制项「CheckBox」I

    原文:零元学Expression Blend 4 - Chapter 17 用实例了解互动控制项「CheckBox」I 本章将教大家如何运用CheckBox做实作上的变化:教你如何把CheckBox变 ...

  9. 零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II

    原文:零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II 本章将教大家如何制作自己的Button,并以玻璃质感Button为实作案例. ? ...

随机推荐

  1. [Node.js] Identify memory leaks with nodejs-dashboard

    In this lesson, I introduce a memory leak into our node.js application and show you how to identify ...

  2. C 语言常见 API(fprintf、fputs、fprintf)

    1. fprintf:输出到文件描述符对应的文件 stderr:错误输出也是一种特殊的文件描述符 #define FatalError(str) fprintf(stderr, "%s\n& ...

  3. 链表与哈希表基本概念及Java常用集合

    -链表- 是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括两个 ...

  4. 【序列操作III】线段树

    题目描述 给出序列 a1,a2,…an(0≤ai≤109),有关序列的四种操作: 1. al,al+1,…,ar(1≤l≤r≤n)加上 x(-103≤x≤103) 2. al,al+1,…,ar(1≤ ...

  5. SQLite做为本地缓存的应用需要注意的地方

    原文:SQLite做为本地缓存的应用需要注意的地方 今天看到了园友陆敏计的一篇文章<<C#数据本地存储方案之SQLite>>, 写到了SQLite的诸多优点,尤其适应于本地数据 ...

  6. Linode跨节点迁移:从Tokyo到Fremont

    背景 上一篇博客交代了如何在 Linode 上搭建邮件服务器,并配置好各种协议.记录来投入实际使用. 由于实践过程中,曾经尝试使用明文协议与服务器交流数据,可能泄露了账号.密码信息,造成之后被攻击发送 ...

  7. 关于CORS跨域更细节的思考

    权威的资料看MDN,也可以看阮一峰的文章.不过感觉阮一峰对于CORS的描述有问题,简单请求被阮一峰描述为2次浏览器请求了.这个要自己搭个服务器试一下.跨域基本都是根据域名判断的,自己是否要再买个域名呢 ...

  8. .NET CORE的TagHelper智能提示

    VisualStudio2017下ASP.NET CORE的TagHelper智能提示不能使用的解决办法   之前在VS2017RC中就发现该问题,安装了依赖,但是前段一直点不出来asp-for,后来 ...

  9. linux下安装sqlite3

    1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库.2.安装:  要安装sqlite3,可以在终端提示符后运行下列命令:  sudo apt-get install sqli ...

  10. Linux(Centos7)下自动启动程序

    1.文件转移 先将要执行的文件转移或复制到路径较短的地方如:/usr/local 主要是为了方便,同时防止误删.2.编写Service文件 $ vim /usr/lib/systemd/system/ ...