windows phone (22) 隐藏元素

简介: 原文:windows phone (22) 隐藏元素在wp中我们也会用到隐藏某个元素,已达到某种效果,刚刚从文章看到了,分享一下【作者:神舟龙】Visibility 此属性能非常方便的实现隐藏某个元素,但是visibility属性不是boolean类型,他是visibility类型,并包含两个...
原文: 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 属性,那么父面板会忽略子面板变换的效果;

 

 

 

 

 

目录
相关文章
|
Android开发 iOS开发 Windows
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
不久前,随着最后一家WP手机厂商惠普宣布取消今后Windows Phone的研发计划,以及微软官方声明对WP8.1系统今后所有升级维护的终止,WP手机,作为曾经和安卓手机、苹果手机并驾齐驱的三大智能手机之一,正式寿终正寝。
1806 0
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
|
XML 开发框架 前端开发
Windows Phone快速入门需掌握哪些能力
在此之前,先普及下Windows Phone的概念和开发工具的介绍。 Windows Phone是微软公司开发的手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中。2012年6月21日,微软正式发布Windows Phone 8,采用和Windows 8相同的Windows NT内核,同时也针对市场的Windows Phone 7.5发布Windows Phone 7.8。
308 0
Windows Phone快速入门需掌握哪些能力
|
移动开发 Android开发 开发者
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
在Build 2014大会上,微软正式发布了传闻已久的Windows Phone 8.1系统,所有的Windows Phone 8手机都可以升级,微软这次可谓是十分厚道。虽然并非迭代升级,但WP 8.1还是拥有很多重大更新,对于微软进一步完善移动平台拥有积极的意义。下面,就一起来了解一下WP 8.1的主要新特性。
352 0
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
|
编解码 前端开发 JavaScript
Windows Phone 下开发 LBS 应用
基于位置的服务(Location Based Service,LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
352 0
|
Windows
背水一战 Windows 10 (76) - 控件(控件基类): Control - 基础知识, 焦点相关, 运行时获取 ControlTemplate 和 DataTemplate 中的元素
原文:背水一战 Windows 10 (76) - 控件(控件基类): Control - 基础知识, 焦点相关, 运行时获取 ControlTemplate 和 DataTemplate 中的元素 [源码下载] 背水一战 Windows 10 (76) - 控件(控件基类): Control -...
1192 0