windows phone (22) 隐藏元素

本文介绍了Windows Phone中两种隐藏UI元素的方法:使用Visibility属性将元素大小设为0使其不参与事件和使用Opacity属性使元素透明但保持其在布局中的位置。通过实例展示了不同属性对元素的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文: windows phone (22) 隐藏元素

在wp中我们也会用到隐藏某个元素,已达到某种效果,刚刚从文章看到了,分享一下【作者:神舟龙

Visibility

此属性能非常方便的实现隐藏某个元素,但是visibility属性不是boolean类型,他是visibility类型,并包含两个visible和collapsed两个成员的枚举类型:

其中默认状态下是visible即显示,当设置为collapsed时,元素大小就会变成0,并且当设置为collapsed是,该属性所属的元素不参与事件,并且不能获得焦点,不能获得焦点也就不能进行命中测试

 

xaml代码:

<!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name= " ContentPanel " Grid.Row= " 1 " Margin= " 12,0,12,0 "
              >
            <TextBlock x:Name= " tb1 " Text= " tb1显示 " VerticalAlignment= " Center " HorizontalAlignment= " Center "></TextBlock>
            <TextBlock x:Name= " tb2 " Text= " tb2显示 "  Visibility= " Collapsed " VerticalAlignment= " Center " ></TextBlock>
        </Grid>

 加Visibility="Collapsed"前

 

加入visibility=“Collapsed”之后

但是要注意的是,如果在布局过程中用到此属性,把某个元素的大小给变成0之后,可能会影响这个布局;

Opactity

没错,就是这个属性,在没看到这个属性前,我都没想到会是这个属性,不过仔细想想也是,当Opactity=“0”的时候,就把元素的透明度设置为最暗就看不到了,不过该元素还是实实在在的存在的,所以使用此属性适合在不影响布局的情况,而且元素也不会消失

 xaml代码:

<Grid x:Name= " ContentPanel " Grid.Row= " 1 " Margin= " 12,0,12,0 "
              >
            <TextBlock x:Name= " tb1 " Text= " tb1显示 " VerticalAlignment= " Center " HorizontalAlignment= " Center "></TextBlock>
            <TextBlock x:Name= " tb2 " Text= " tb2显示 "  Opacity= " 0 " VerticalAlignment= " Center " ManipulationDelta= " tb2_ManipulationDelta " ></TextBlock>
        </Grid>

 运行后的效果:

 

和上一张图片一样,从代码中可以看到我们定义了一个触摸移动事件,看看会不会实现,隐藏文件代码比较简单,如下:

    private  void tb2_ManipulationDelta( object sender, ManipulationDeltaEventArgs e)
        {
             this.PageTitle.Text =  " 依然相应事件 ";
        }

 效果:

 

就像上面的一句话,依然响应事件(貌似写这个事件测试是废话:))

 好了,加上这句话就好了,加个属性IsHitTestVisible="False",这样就不会响应用户的触摸操作了;

 

 

 在用作布局中,opacity属性没有visibility属性搞笑,如果需要用到频繁的布局嵌套,尽量避免opacity,如果在grid等元素中使用以上两个属性,那么gird中所包含的元素也会应用这两个属性;

如果在面板中应用rendertransform属性,那么面板中的子元素也会受到影响,但是如果在子面板中设置rendertransform 属性,那么父面板会忽略子面板变换的效果;

 

 

 

 

 

posted on 2014-03-05 15:05 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3582515.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值