Silverlgiht:快速去除/恢复对象的颜色
2011-06-21 15:25
225 查看
某些场景下,想将一个对象快速隐藏、恢复,而且不影响布局。有一种方法:将对象的透明度在1与0之间切换。
问:为什么不用Visibility?
答:这通常会导致重新布局,即剩余可显示的控件可能会产生移动。在一些特定场景,比如报表套打中,明显不适用。
但是切换透明度的方法,有时候也不太好用,比如一个Border里再套其它控件,如果只是想快速去掉Border的边框显示,而保留Border中的控件继续呈现,就不适用了。(因为Border的透明度为0后,也会同步隐藏Border内部的控件)。
解决方法就是:修改Border边框颜色值中的A分量,让其在0与255之间切换。
问:为什么不用Visibility?
答:这通常会导致重新布局,即剩余可显示的控件可能会产生移动。在一些特定场景,比如报表套打中,明显不适用。
但是切换透明度的方法,有时候也不太好用,比如一个Border里再套其它控件,如果只是想快速去掉Border的边框显示,而保留Border中的控件继续呈现,就不适用了。(因为Border的透明度为0后,也会同步隐藏Border内部的控件)。
解决方法就是:修改Border边框颜色值中的A分量,让其在0与255之间切换。
private void btnTest_Click(object sender, RoutedEventArgs e) { SolidColorBrush brush = b.BorderBrush as SolidColorBrush; if (brush != null) { Color c = brush.Color; if (c.A == 0) { c.A = 0xff; //恢复颜色的Alpha分量 } else { c.A = 0x00;//去除颜色的Alpha分量 } brush.Color = c; } }
相关文章推荐
- 2分钟快速的恢复被误删的活动目录对象
- 关于Silverlgiht Tools的离线安装
- 轻松使用Telerik的RadControl For Silverlgiht系列概要(Easy RadControl)
- 快速去除和恢复系统快捷方式的小箭头图标
- 表格中,鼠标放上去的行变色,离开恢复原来颜色
- LG 的数学计划 ---- 第四步 快速幂
- Python快速学习10: 循环的对象及设计 (生活的规律)
- SSE图像算法优化系列二十:一种快速简单而又有效的低照度图像恢复算法。
- javascript快速入门5--数组与对象
- 用NSMutableAttributedString快速设置UIbutton Title/lable的文字:字体,大小,颜色
- R.swift 使用快速引用资源文件如图片文案颜色
- 给大家介绍对象 - C++快速入门14
- iphone开发自定义UIControl对象的视图 UISwitch的字体和颜色
- 使用XStream实现Java对象与XML之间的快速互转
- 快速恢复检测 恢复 故障服务器方法
- Javascript ==== 因特网上最流行的脚本快速学习---Javascript对象,高级
- List集合去除重复对象及equals()、hashCode()方法的作用
- 苹果Mac OS X系统快速显示/恢复隐藏文件的方法介绍
- js/jQuery对象互转(快速操作dom元素)
- 颜色文字值 和 颜色对象 互换工具