零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!
原文:零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!
由此可知
Hidden为隐藏项目,但也保留项目的配置空间
而Collapsed为隐藏项目,但因为没有保留项目的配置空间,所以会使得绿色区块位置改变
MSDN提到:
Visibility 值为 Collapsed 的项目不会占用任何配置空间。
(MSDN对Visibility的介绍原文)
配置空间指的是项目存在画面上的位置
所以就算是该项目使用Collapsed,项目不会占用任何配置空间
但是与是否会耗损资源并没有任何的绝对关系!!!!
就算不存在画面上,检查Xaml时,会发现已设定为Collapsed的项目还是存在的
?
很多时候,当设计版面或是动画的需要利用Appearance的Visibility来达到效果
本篇就是要跟大家介绍Visibility的三种配置效果
?
我们开始吧!
?
01
跟之前不一样的是,这次我们要开启的新专案需使用WPF Application
为什麽?看下去就知道!
?
New Project->选取WPF Application->命名後按下OK

?
现在就先来说明为甚麽要使用WPF专案
如下图
左边是Silverlight专案下的Visibility,只有Visible与Collapsed两种
右边是WPF专案下的Visibility,有Visible、Hidden与Collapsed三种
?
为了要比较这三种设定的明显不同,所以本篇我们使用WPF专案

?
?
02
专案开启後,在主要工作区放入一个StackPanel

?
接着在StackPanel里置入四个Rectangle

?
?
为了方便对照,请复制整个StackPanel,放置於画面上对称的位置

?
?
03
我们开始设定Visible、Hidden与Collapsed吧!
粉红色与绿色我们不动它,使之保持预设值Visible
?
选取蓝色的Rectangle,设定为Hidden

?
设定为Hidden的蓝色Rectangle已经消失了
但是其它颜色的Rectangle并没有因为蓝色Rectangle的设定有任何的改变
?
?
04
再来,选取黄色Rectangle,设定为Collapsed

?
?
设定为Collapsed的黄色Rectangle已经消失了
并且因为黄色Rectangle的设定,使得其他颜色的Rectangle位子也因此有所改变
?
?
05
请看下图的整理的差异分析

?
由此可知
Hidden为隐藏项目,但也保留项目的配置空间
而Collapsed为隐藏项目,但因为没有保留项目的配置空间,所以会使得绿色区块位置改变
?
?
MSDN提到:
Visibility 值为 Collapsed 的项目不会占用任何配置空间。
(MSDN对Visibility的介绍原文)
?
配置空间指的是项目存在画面上的位置
所以就算是该项目使用Collapsed,项目不会占用任何配置空间
但是与是否会耗损资源并没有任何的绝对关系!!!!
?
就算不存在画面上,检查Xaml时,会发现已设定为Collapsed的项目还是存在的
1: <StackPanel x:Name="SettingStakPnl" Margin="20" Background="#FF444444" Grid.Column="1">
2: <Rectangle x:Name="PinkBox1" Fill="#FFFF00A4" Height="75" Width="150" Margin="5,6,5,1" StrokeThickness="0"/>
3: <Rectangle x:Name="BlueBox1" Fill="#FF0004FF" Height="75" Width="150" Margin="5,6,5,1" StrokeThickness="0" Visibility="Hidden"/>
4: <Rectangle x:Name="YellowBox1" Fill="#FFFFF500" Height="75" Width="150" Margin="5,6,5,1" StrokeThickness="0" Visibility="Collapsed"/>
5: <Rectangle x:Name="GreenBox1" Fill="#FF00E403" Height="75" Width="150" Margin="5,6,5,1" StrokeThickness="0"/>
6: </StackPanel>
?
?
?
?
?
以上对Visibility的介绍,希望能达到初学者对正确观念的厘清唷!
?
?
?
?
?
(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)
一步一步迈向HIE之路
喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!
若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您
零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!的更多相关文章
- 零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步
		
原文:零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步 如果需要经常的使用某一项工具,总会希望能够更快速的使用各项设定达到效果 今天要介绍 ...
 - 零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果
		
原文:零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果 有网友问我如何在Blend内制作出倒影效果 我提供了 ...
 - 零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下)
		
原文:零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下) 抱歉久等了!!!! 终於到了动画MenuBar ...
 - 零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗?
		
原文:零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗? ListBox里的排列不是垂直就是水平,觉得这样的排列很枯燥乏味吗? 想要它变聪明吗? ...
 - 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画
		
原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...
 - 零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中)
		
原文:零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中) 我们接着进行动画MenuBar的制作 接续着上 ...
 - 零元学Expression Blend 4 - Chapter 40 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(上)
		
原文:零元学Expression Blend 4 - Chapter 40 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(上) 一直以来都有人拿Flash的动画问我Blend ...
 - 零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下)
		
原文:零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下) 你可以把Clip想成是一个遮罩,运用遮罩达到我们想要的效果 所以在这里我们把文字 ...
 - 零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上)
		
原文:零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上) 几何外部的 UIElement 会在呈现的配置中以视觉化方式裁剪. 几何不一定要 ...
 
随机推荐
- 利用QPainter绘制各种图形(Shape, Pen 宽带,颜色,风格,Cap,Join,刷子)
			
利用QPainter绘制各种图形 Qt的二维图形引擎是基于QPainter类的.QPainter既可以绘制几何形状(点.线.矩形.椭圆.弧形.弦形.饼状图.多边形和贝塞尔曲线),也可以绘制像素映射.图 ...
 - matlab 实现 stacked Autoencoder 解决图像分类问题
			
Train Stacked Autoencoders for Image Classification 1. 加载数据到内存 [train_x, train_y] = digitTrainCellAr ...
 - UIPasteboard粘贴板:UITableView复制粘贴功能(二)
			
这篇咱写写一写在UITableView上实用剪贴板的两种方法: 一:在自定义cell里面使用 其实,在cell的使用跟在label里面的用法基本一样 1.放方法: - (BOOL)canBecomeF ...
 - Ultra-wideband (UWB) secure wireless device pairing and associated systems
			
Methods and systems are disclosed for ultra-wideband (UWB) secure wireless device pairing. Secure pa ...
 - LR杂记 - Linux的系统监控工具vmstat详细说明
			
一.前言 非常显然从名字中我们就能够知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,可是如何通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回想一下 ...
 - C#中的并发编程知识二
			
= 导航 顶部 基本信息 ConcurrentQueue ConcurrentStack ConcurrentBag BlockingCollection ConcurrentDictiona ...
 - Win7的diskpart硬盘分区
			
Windows7 给硬盘分区有两个特点: 1.默认所有是主分区. 2.会有一个 100MB 大小的隐藏分区,为"系统预留". 假设喜欢折腾计算机,这两个特点会造成非常多麻烦.能不能 ...
 - RabbitMq核心概念和术语
			
简介 越来越多的消息中间件很容易让人产生混淆,在学习一种消息中间件的时候,最好先了解他的几种抽象概念,方便你理解,明白了这些概念,你学习起来的时候也就得心应手,同时也是使用好RabbitMQ的基础. ...
 - Python属性和方法
			
关键字:Python 属性 方法原文:http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and ...
 - uml系列(七)——互动图
			
互动图uml描述如何对象的描述在系统交互动作 . 废话不多说,还是来张图: 概念 交互图,主要描写叙述的是系统中的一组对象的消息的传递的.为对象间的交互定义了一个可视的表示方法. 构 ...