原文:零元学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的差异!的更多相关文章

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

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

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

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

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

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

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

    原文:零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗? ListBox里的排列不是垂直就是水平,觉得这样的排列很枯燥乏味吗? 想要它变聪明吗? ...

  5. 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画

    原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...

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

    原文:零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中) 我们接着进行动画MenuBar的制作 接续着上 ...

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

    原文:零元学Expression Blend 4 - Chapter 40 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(上) 一直以来都有人拿Flash的动画问我Blend ...

  8. 零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下)

    原文:零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下) 你可以把Clip想成是一个遮罩,运用遮罩达到我们想要的效果 所以在这里我们把文字 ...

  9. 零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上)

    原文:零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上) 几何外部的 UIElement 会在呈现的配置中以视觉化方式裁剪. 几何不一定要 ...

随机推荐

  1. Redis内存管理的基石zmallc.c源代码解读(一)

    当我第一次阅读了这个文件的源代码的时候.我笑了,忽然想起前几周阿里电话二面的时候,问到了自己定义内存管理函数并处理8字节对齐问题. 当时无言以对,在面试官无数次的提示下才答了出来,结果显而易见,挂掉了 ...

  2. ITFriend创业败局(三):技术人员创业,需要尽可能避免,或者需要解决的5个重要问题

    一.插科打诨: 本想给小雷粉,做一个创业"成功案例"的,结果做成了一个"反面教材"~ No zuo,no die~ 二.写作目的:分享自己作为一名技术人员,或者 ...

  3. 【a601】雇佣计划

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 一位管理项目的经理想要确定每个月需要的工人,他知道每月所需的最少工人数.当他雇佣或解雇一个工人时,会有一 ...

  4. HDU 1081 To The Max - 最大字段和

    传送门 题目大意: 求一个矩阵的最大子矩阵和. 题目分析: 刚开始考虑了一下dp方程的递推,但是不好转.简便的方法是预处理sum[i][j]表示第i行的前j个元素之和,之后\(n^3\)枚举子矩阵就可 ...

  5. Java之泛型<T> T与T的用法

    <T> T表示返回值是一个泛型,传递啥,就返回啥类型的数据,而单独的T就是表示限制你传递的参数类型,这个案例中,通过一个泛型的返回方式,获取每一个集合中的第一个数据, 通过返回值<T ...

  6. [think in java] 第8章 多态

    多态 "封装"通过合并特征和行为来创建新的数据类型. "多态"的作用则是消除类型之间的耦合关系. 方法调用绑定 定义:将一个方法调用同一个方法主题关联起来被称为 ...

  7. 【干货】Chrome插件(扩展)开发全攻略(转)

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  8. 同一性(identical)

    f(x)=x,表明 f(⋅) 为同一函数. A 与 B 具有 360° 的区别 A 向左转,再向右转 ⇒ A A 向左转,向左转,向后转 ⇒ A

  9. 【MySQL案例】error.log的Warning:If a crash happens thisconfiguration does not guarantee that the relay lo

    1.1.1. If a crash happens thisconfiguration does not guarantee that the relay log info will be consi ...

  10. Windows SublimeText内使用NDK编译Android so(不用cygwin)

    測试环境: sublime text version 2.0.2, build 2221 和 sublime text stable channel, build 3065 (version3) Wi ...