原文:零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗?

ListBox里的排列不是垂直就是水平,觉得这样的排列很枯燥乏味吗?



想要它变聪明吗?



看下去就对了~

?

ListBox里的排列不是垂直就是水平,觉得这样的排列很枯燥乏味吗?

想要它变聪明吗?

看下去就对了~

?

先前在【Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下)

使用了WrapPanel做为第二层选单的布局容器

另外,在设计x程式社团,也有朋友问到有关WrapPanel的问题

我就一起在这里做介绍

?

在开始本章之前,要先提醒朋友~

如果你还没有装Silverlight Toolkit的话,请先下载,才会有本章提到的WrapPanel唷!

针对Silverlight Toolkit,小猴子先前有特别做了详细的介绍。

(请看【扩充元件-「Silverlight Toolkit」教学】)

?

01

在主要工作区置入一个ListBox,并调整到适当位置

?

02

接着我们运用假资料的代入,来测试布局容器内物件的排序状况

於Data->Creat Sample Data->New Sample Data开始我们的Sample Data建置

?

有关更详细的Sample Data如何使用

请看小猴子先前所做的详细介绍:

零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里

?

03

这里,我们设定一组的Property就好,并且把Type改为Image

?

点选Collection後直接拖拉进ListBox里,ListBox就会出现刚刚所设定的SampleData了

?

04

放入Sample Data的ListBox,出现了VerticalScrollBar

?

让我们进到Template里面,看看发生什麽事

ListBox->Edit Additional Templates->Edit Layout of Items->Create Empty

?

原来是预设的ListBox里面住了个StackPanel阿!!!

没关系,我们来帮它变身~

点选StackPanel->右键->Change Layout Type->WrapPanel

?

05

变身为WrapPanel後,除了图片改为横向排列外,好像没甚麽差别

没关系,不要紧~让我们先离开Edit Template模式再说

?

在这边,我必须要先介绍WrapPanel特性:

WrapPanel会将子项目由左至右依序放置,在包含方块的边缘将内容换行。

依据 Orientation 属性的值,後续的排列方式会由上至下或由右至左依序进行。

(看更多MSDN详细介绍,请点这里)

?

所以我们要把ListBox的HorizontalScrollBarVisibility以及VerticalScrollBarVisibility设定为Disabled

让宽度或高度不够时,容器内的物件自动排列

?

如果没有设定Disabled,会被辨识为宽高无限制,底层的WrapPanel自然没办法发挥它的特性

?

设定Disabled後,你应该可以发现,ListBox内的物件排列已经改变了

?

06

若你想要改变把排列方式由水平改为垂直

请回到Edit Template模式,在Properties->CommomProperties->Orientation

把Horizontal改为Vertical

?

物件的排列方式,就改为垂直排列噜!

?

?

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

?

?

?

一步一步迈向HIE之路

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

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

 

零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗?的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 28 ListBox的基本运用与更改预设样式

    原文:零元学Expression Blend 4 - Chapter 28 ListBox的基本运用与更改预设样式 本章将先教大家认识ListBox的基本运用与更改预设样式 本章将先教大家认识List ...

  2. 零元学Expression Blend 4 - Chapter 29 ListBox与Button结合运用的简单功能

    原文:零元学Expression Blend 4 - Chapter 29 ListBox与Button结合运用的简单功能 本章所讲的是运用ListBox.TextBox与Button,做出简单的列表 ...

  3. 零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异

    原文:零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异 因为先前写到自制Button时需特别注意T ...

  4. 零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里

    原文:零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里 前面几章连续讲到ListBox的运用,本章要讲得是如何简单的把Sa ...

  5. 零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面

    原文:零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面 本章将交大家如何运用Blend 4 内的Text相关功能做出有设计感的登 ...

  6. 零元学Expression Blend 4 - Chapter 24 以实作了解Cover Flow功能

    原文:零元学Expression Blend 4 - Chapter 24 以实作了解Cover Flow功能 今天要介绍一个Silverlight Toolkit内好用且在图片展示操作上很常见的元件 ...

  7. 零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步

    原文:零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步 如果需要经常的使用某一项工具,总会希望能够更快速的使用各项设定达到效果 今天要介绍 ...

  8. 零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果

    原文:零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果 有网友问我如何在Blend内制作出倒影效果 我提供了 ...

  9. 零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下)

    原文:零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下) 抱歉久等了!!!! 终於到了动画MenuBar ...

随机推荐

  1. [Ramda] Refactor to Point Free Functions with Ramda using compose and converge

    In this lesson we'll take some existing code and refactor it using some functions from the Ramda lib ...

  2. asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)

    原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...

  3. 【hdu 1846】Brave Game

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  4. 解决Request method 'GET' not supported问题

    博主最近遇到了这个问题,解决情况如下 第一种情况:前台页面的表单在一些情况下没有指定POST方法: Ajax没有指定POST方法: 后台方法在一定情况下需要指定POST方法: 第二种情况:前端参数类型 ...

  5. android studio报错提示: Gradle DSL method not found: 'android() 解决方案

    原文错误提示: Error:(16, 0) Gradle DSL method not found: 'Android()'Possible causes:<ul><li>Th ...

  6. matlab 神经网络工具箱的实用

    0. 其他处理 计时: tic net = train(net, X, y); toc 1. 一个简单的 demo(单层感知器) P = [1, 1, 1, 1, 0, 0, 0, 0; 0, 0, ...

  7. LockWindowUpdate的函数的用法

    Application.ProcessMessages;LockWindowUpdate(Self.Handle); //锁住当前窗口 LockWindowUpdate(0)//解除锁定窗口 Lock ...

  8. 通用javascript脚本函数库

    /* 名字:Common.js 功能:通用javascript脚本函数库 包括: 1.Trim(str)--去除字符串两边的空格 2.XMLEncode(str)--对字符串进行XML编码 3.Sho ...

  9. 2.RabbitMQ的quick start

    1.首先要安装 RabbitMQ Client 2.创建一个控制台项目 取名 Publisher代码如下: using RabbitMQ.Client; using System; using Sys ...

  10. mod_timer函数及其他定时器函数

    当一个定时器已经被插入到内核动态定时器链表中后,我们还能够改动该定时器的expires值.函数mod_timer()实现这一点 改动注冊入计时器列表的handler的起动时间 int mod_time ...