windows phone (19) 深入了解TextBlock

简介:

 TextBlock

一般用于显示文本的元素,我们最为经常用到的是该类的Text属性,其实显示文本有两种呈现方式,一个是设置内部文本Text,另一种就是在Inlines 集合中创建一个新的 Run 对象LineBreak对象,我们称之为内联文本;【作者:神舟龍

Run 标签内容成为 Text 属性的值,该类具有TextBlock类所具有的部分属性,比如FontFamily,FontSize,FontStretch,Foregroud等等;

LineBreak  新起一行,是换行标签


 
 
  1. <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
  2.             <TextBlock x:Name="tbShow" Text="文字示例" Foreground="White"    VerticalAlignment="Center" HorizontalAlignment="Center"> 
  3.                 <TextBlock.Inlines> 
  4.                     <Run Foreground="Blue" Text="ddd"  ></Run> 
  5.                 </TextBlock.Inlines> 
  6.             </TextBlock> 
  7.         </Grid> 

 可以看到我们在Run标签和TextBlock标签都设置的前景色和显示的文字,可是效果如何那,效果:

 

 所以我们确定如果TextBlock标签和TextBlock标签内定义Run标签的属性相重复时,两者的属性互不相干,但是Run设置的显示文本在TextBlock属性Text之后,要把程序运行起来,设计器直接看会是这样的错误结果,

 

 

 再看下面的例子,我们对Run标签的一些属性进行了一些罗列:

 


 
 
  1. <!--ContentPanel - 在此处放置其他内容--> 
  2.        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
  3.            <TextBlock x:Name="tbShow" Text="文字示例" Foreground="White"    VerticalAlignment="Center" HorizontalAlignment="Center"> 
  4.                <Run Foreground="Blue">前景色Blue</Run><LineBreak></LineBreak> 
  5.                 <Run FontStyle="Italic">字体样式Italic</Run><LineBreak></LineBreak> 
  6.                <Run  FontSize="30">字体30</Run><LineBreak></LineBreak> 
  7.                <Run  TextDecorations="Underline">下划线</Run><LineBreak></LineBreak> 
  8.                  <Run  TextDecorations="Underline" 
  9.                         FontSize="30" 
  10.                        FontStyle="Italic" 
  11.                        Foreground="Blue" 
  12.                        Text="综合" ></Run><LineBreak></LineBreak> 
  13.            </TextBlock> 
  14.        </Grid> 

 实现的是这样的效果:

 


 上面介绍到的是Inlines 集合的内联文本,这是说说TextBlock属性Text的一些特殊用法

案例代码:


 
 
  1. <!--ContentPanel - 在此处放置其他内容--> 
  2.         <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
  3.             <TextBlock x:Name="tbShow"  Foreground="White" 
  4.                        VerticalAlignment="Center" HorizontalAlignment="Center" 
  5.                        Text="π表示3.14" 
  6.                        > 
  7.             </TextBlock> 
  8.         </Grid> 

 它实现的效果是:

 

还比如。表示句号(。), 表示回车, 表示换行,当然你可以看出格式都差不多,可以更改最后一个字母或数字看看变成什么,比如

〇是一个圆圈;当用到换行的时候,我们可以设置TextBlock的属性TextWrapping="Wrap",该属性表示在显示文本超过容器所限制的宽度时,文本会自动换行;

也可以设置文本对齐方式,TextAlignment属性可以甚至为:left,right,center;

如果你在textblock设置了fontfamily属性,并且名字写错的话,不会造成什么后果,系统会使用默认的字体 ,但是从隐藏文件获取字体的话还是获取到的是错误字体;



MediaElement

 表示的是播放媒体,目前支持mp4,wma,mp3,wmv(ps:我刚刚从优酷找到一个swf格式的不支持),MediaElement的属性AutoPlay属性默认为True,所以当视频缓冲到可以播放的时候,视频会自动播放

 参考书上的地址设置了播放源,xaml代码如下


 
 
  1. <!--ContentPanel - 在此处放置其他内容--> 
  2.        <Grid x:Name="ContentPanel" Background="AntiqueWhite" Grid.Row="1" Margin="12,0,12,0"> 
  3.  
  4.            <MediaElement Source="http://www.charlespetzold.com/Media/Walrus.wmv" ></MediaElement> 
  5.        </Grid> 

 在播放途中截图:

 


本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/842815,如需转载请自行联系原作者

相关文章
|
Android开发 iOS开发 Windows
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
不久前,随着最后一家WP手机厂商惠普宣布取消今后Windows Phone的研发计划,以及微软官方声明对WP8.1系统今后所有升级维护的终止,WP手机,作为曾经和安卓手机、苹果手机并驾齐驱的三大智能手机之一,正式寿终正寝。
1493 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。
175 0
Windows Phone快速入门需掌握哪些能力
|
移动开发 Android开发 开发者
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
在Build 2014大会上,微软正式发布了传闻已久的Windows Phone 8.1系统,所有的Windows Phone 8手机都可以升级,微软这次可谓是十分厚道。虽然并非迭代升级,但WP 8.1还是拥有很多重大更新,对于微软进一步完善移动平台拥有积极的意义。下面,就一起来了解一下WP 8.1的主要新特性。
271 0
Windows Phone 8.1 新功能汇总 开发者预览版开放下载
|
编解码 前端开发 JavaScript
Windows Phone 下开发 LBS 应用
基于位置的服务(Location Based Service,LBS),它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。
208 0
|
Windows 数据安全/隐私保护 C#