零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异
原文:零元学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 四种设定间的差异
特别多做了一个四合一的比较:
请拖动Slider更改颜色区块的大小,看出四种设定的差异
Auto = 当内容过多时,才会显示bar
Disabled = 就算内容超过容器大小,也完全禁用bar
Hidden = 隐藏bar ,但可以使用滑鼠滚轮卷动,观看超过容器大小的内容
Visible =不管内容是否有超过容器大小,永远都显示bar
?
很抱歉,阁下使用的浏览器并不支援 IFrame,不能正常浏览我的网页
?
?
?
(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)
一步一步迈向HIE之路
喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!
若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您
零元学Expression Blend 4 - Chapter 36 来玩捉迷藏吧!!!看看ScrollBar的Disabled与Hidden之差异的更多相关文章
- 零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!
原文:零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible.Hidden与Collapsed的差异! 由此可知 Hidden为隐藏项目,但 ...
- 零元学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想成是一个遮罩,运用遮罩达到我们想要的效果 所以在这里我们把文字 ...
随机推荐
- android获取和展示音乐的频谱
做了个音乐播放器 就一直想做个加一个音乐频谱的展示界面 觉的这是一个好玩的东西,可以将耳边动听的声音形象化,仿佛眼前可以看到声音一样. 但是我在文档的开发者指南里没有讲任何有关音乐频谱的东西,最后还是 ...
- js进阶 9-11 select选项框如何动态添加和删除元素
js进阶 9-11 select选项框如何动态添加和删除元素 一.总结 一句话总结: 二.js进阶 9-11 select选项框如何动态添加和删除元素 1.案例说明 2.相关知识 Select 下拉列 ...
- 【bzoj3555】[Ctsc2014]企鹅QQ 简单哈希
传送门 题目分析 题意即求有多少对字符串只相差一个字符,枚举删除每个字符后的哈希, 看有多少相等即可. 比如有如下字符串:$Sd123$,其中S部分的哈希值为H,删除的是d,则原字符串的哈希值为$$( ...
- Android——四大组件、六大布局、五大存储
一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...
- Android菜鸟的成长笔记(20)——IntentService
前面介绍的Service在官方文档介绍中说Service存在着如下两个问题: 1.A Service is not a separate process. The Service object its ...
- 【心情】NOIP2014记忆
无意中又翻到这张表格. 现在看起来真的感慨万分. 如果当时把link多想想,也许就能拿满分了. 如果当时的bird看出来那个傻逼背包模型就好了. 如果equation当时我想到大质数取模就好了; 如果 ...
- 存储用es,消息队列用redis
自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便.只要系统架构设计合理,大型项目也能用.最近做的项目,统计中心和推荐系统,collector.calculator.recomme ...
- git版本管理与github
1.下载并安装好git 里面有几个.exe的文件,需要用到的就是git-bash.exe 2.把git和github连接 1.打开github网站,点击最右上角的图标,点击setti ...
- SWFTools PDF转换为SWF
前言 在iText 制作PDF这篇博文中只是简单的介绍了如何制作PDF,为了能让PDF在Web页面中显示,我还需要通过SWFTools工具将PDF文件转换为SWF文件,然后通过SWF文件显示在Web网 ...
- 【OC语法要闻速览】一、方法调用
调用方法 [object method]; [object methodWithInput:input]; output = [object methodWithOutput]; output = [ ...