原文:零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异

本次要针对Disabled以及Hidden作讨论



很多人会把Disabled当成是不显示,因为选单内容有个Visible(翻译为可见or显示)



但其实Disabled是禁用而非不显示,若是想要使之不显示,请使用Hidden作隐藏即可



我想,不显示跟隐藏的意思是雷同的,但与禁用却是相差很远,所以请不要搞混喔~



隐藏与禁用,在实务上使用起来就是有差别!!



差在哪里呢?看下去就知道

?

?

先前在Chapter10有介绍过ScrollViewer的属性以及功能

(回顾请点我)

?

其重点设定的内容为

Auto = 当内容过多时,自动显示bar

Disabled = 禁用bar

Hidden = 隐藏bar

Visible =显示bar

?

本次要针对Disabled以及Hidden作讨论

很多人会把Disabled当成是不显示,因为选单内容有个Visible(翻译为可见or显示)

但其实Disabled是禁用而非不显示,若是想要使之不显示,请使用Hidden作隐藏即可

我想,不显示跟隐藏的意思是雷同的,但与禁用却是相差很远,所以请不要搞混喔~

隐藏与禁用,在实务上使用起来就是有差别!!

差在哪里呢?看下去就知道

?

01

延续Ch10的作法,请在ScrollViewer内放入StackPanel,并在StackPanel内放入数个Button

?

完成後,请全部选取後复制出另一个ScrollViewer,好为我们等等的比较做准备

(下图为还没有设定Hidden以及Disabled属性的状态)

还没有设定Hidden以及Disabled属性的Xaml如下:

   1: <ScrollViewer x:Name="HiddenScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">

   2:     <StackPanel Background="#FF525252">

   3:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>

   4:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>

   5:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>

   6:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>

   7:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>

   8:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>

   9:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>

  10:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFFFBC79"/>

  11:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF521E00"/>

  12:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3"/>

  13:     </StackPanel>

  14: </ScrollViewer>

  15: <ScrollViewer x:Name="HiddenScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.Column="1"  Grid.Row="1"HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">

  16:     <StackPanel Background="#FF525252">

  17:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>

  18:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>

  19:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>

  20:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>

  21:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>

  22:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>

  23:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>

  24:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFFFBC79"/>

  25:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF521E00"/>

  26:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3"/>

  27:     </StackPanel>

  28: </ScrollViewer>

  29:  

  30:  

?

02

点选左边的ScrollViewer後从Properties->Layout->选择Show advanced Properties-> VerticalScrollBarVisibility

可以看到由上至下Disabled 、Auto、Hidden 以及Visible 四种设定

?

这里,请选择Hidden

?

而右边的ScrollViewer请选择Disabled

?

完成後,按下F5试试看到底哪边不一样

附上实作范例,试试看左边跟右边的差异

?

请点击左边ScrollViewer内的Button後,在ScrollViewer内卷动一下滑鼠滚轮

再点击右边ScrollViewer内的Button,也在右边的ScrollViewer内卷动一下滑鼠滚轮

?

很抱歉,阁下使用的浏览器并不支援 IFrame,不能正常浏览我的网页

?

更改为Hidden以及Disabled属性的Xaml如下:

   1: <ScrollViewer x:Name="HiddenScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Hidden" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">

   2:     <StackPanel Background="#FF525252">

   3:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>

   4:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>

   5:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>

   6:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>

   7:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>

   8:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>

   9:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>

  10:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFFFBC79"/>

  11:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF521E00"/>

  12:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3"/>

  13:     </StackPanel>

  14: </ScrollViewer>

  15: <ScrollViewer x:Name="DisableScview" Margin="0" ScrollViewer.VerticalScrollBarVisibility="Disabled" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="250" Height="200">

  16:     <StackPanel Background="#FF525252">

  17:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF0029A9"/>

  18:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFA300F3"/>

  19:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF8F002E"/>

  20:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF086A00"/>

  21:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FF786800"/>

  22:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="#FFB16100"/>

  23:         <Button Content="请点按钮一下再滚动滑鼠" Margin="5,3" Foreground="Red"/>

  24:         <Button Content="Button" Margin="5,3" Foreground="#FFFFBC79"/>

  25:         <Button Content="Button" Margin="5,3"/>

  26:         <Button Content="Button" Margin="5,3"/>

  27:     </StackPanel>

  28: </ScrollViewer

?

由此可知

虽然看不见ScrollBar,不过设定为Hidden的卷轴使用滑鼠滚轮滚动还是可以看到所有的内容

但是设定为Disabled的卷轴却已经完全没有反应了唷!

?

------------------------------------------------------03/21更新--------------------------------------------------------------

?

为了让大家更了解Disabled 、Auto、Hidden 以及Visible 四种设定间的差异

特别多做了一个四合一的比较:

感谢Ouch的技术协助

请拖动Slider更改颜色区块的大小,看出四种设定的差异

Auto = 当内容过多时,才会显示bar

Disabled = 就算内容超过容器大小,也完全禁用bar

Hidden = 隐藏bar ,但可以使用滑鼠滚轮卷动,观看超过容器大小的内容

Visible =不管内容是否有超过容器大小,永远都显示bar

?

很抱歉,阁下使用的浏览器并不支援 IFrame,不能正常浏览我的网页

?

?

?

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

一步一步迈向HIE之路

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

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

 

零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!

    原文:零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible.Hidden与Collapsed的差异! 由此可知 Hidden为隐藏项目,但 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Redis Service

    https://raw.githubusercontent.com/MSOpenTech/redis/3.0/Windows%20Service%20Documentation.md

  2. js进阶 10-10 可见伪类选择器和内容伪类选择器的作用

    js进阶 10-10  可见伪类选择器和内容伪类选择器的作用 一.总结 一句话总结:分组来描述.内容伪类选择器就是  四个  包含.可见的伪类选择器就是可见和不可见.查找功能,也就是内容伪类选择器非常 ...

  3. ssh连接上腾讯云、华为云Linux服务器,一会就自动断开

    客户端向服务端发送心跳 依赖 ssh 客户端定时发送心跳,putty.SecureCRT.XShell 都有这个功能. Linux / Unix 下,编辑 ssh 配置文件: # vim /etc/s ...

  4. 小强的HTML5移动开发之路(27)—— JavaScript回顾2

    Javascript面向对象基础知识 1.如何定义一个类,使用如下语法来创建一个类 function Person(name, age){ //习惯上第一个字母大写 //this修饰的变量称为属性 t ...

  5. Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(下)

    原文:Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(下) 接着上篇... 接下去,将一步步演示如果创建当点击checkBox后,其中的按钮由左边滑动到右边,表示处于 ...

  6. [Python] 字典推导 PEP 274 -- Dict Comprehensions

    之前自己也遇到过一次,这段时间在群里也遇到过几次的一个问题 用python2.7写的一段程序.里面用到了字典推导式,可是server版本号是python2.6,无法执行. 今天查了下关于Dict Co ...

  7. 作为电磁波的 Wi-Fi 信号

    常用 WiFi:2.4 GHz,而同样是电磁波的可将光,频率是 WiFi 的十几万倍: 如何让家里的 WiFi 信号变得更好,移动路由器到合适位置: 1. Wi-Fi:穿墙有术还是穿墙无术? 我们都会 ...

  8. 病毒软件,导致DNS失效的解决办法

    问题症状,DNS失效了,ping域名总是失败. 问题回顾:几个周之前,某群友在群里上传了一个病毒软件,我想去测验下,最后果然中毒.前几天,把软件卸载了,上周末解决了删除最后一款软件导致无法上网的问题. ...

  9. VS2012经常使用的快捷方式完成最全面

    (1)如何更改设置快捷键 1.转到工具----选项  对话框 2.选  环境---->键盘 3.在 [显示命令包括] 以下的对话框中输入"对齐"keyword,然后就会在这个 ...

  10. vs中添加MySql实体集流程

    默认情况下只有下图: 首先需要下载mysql为vs和ef提供的驱动(可以去官网下载对应的版本) 然后打开vs开始添加实体类 首先在NuGet中安装MySql.Data和MySql.Data.Entit ...