前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Silverlgiht:快速去除/恢复对象的颜色

Silverlgiht:快速去除/恢复对象的颜色

作者头像
菩提树下的杨过
发布2018-01-23 17:23:24
6410
发布2018-01-23 17:23:24
举报

某些场景下,想将一个对象快速隐藏、恢复,而且不影响布局。有一种方法:将对象的透明度在1与0之间切换。

问:为什么不用Visibility?

答:这通常会导致重新布局,即剩余可显示的控件可能会产生移动。在一些特定场景,比如报表套打中,明显不适用。

但是切换透明度的方法,有时候也不太好用,比如一个Border里再套其它控件,如果只是想快速去掉Border的边框显示,而保留Border中的控件继续呈现,就不适用了。(因为Border的透明度为0后,也会同步隐藏Border内部的控件)。

解决方法就是:修改Border边框颜色值中的A分量,让其在0与255之间切换。

代码语言:javascript
复制
        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;                
            }
        }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-06-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档