Silverlight学习笔记--文字对象

Silverlight学习笔记--文字对象,第1张

概述文本的处理 TextBlock 是 Silverlight 中的一个常用又有用的控件。我们可以通过TextBlock呈现只读的文本。 下面是演示代码 <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winf

文本的处理

TextBlock 是 Silverlight 中的一个常用又有用的控件。我们可以通过TextBlock呈现只读的文本。

下面是演示代码

<UserControl	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"	x:Class="SilverlightStudy.MainPage"	WIDth="640" Height="480">  <TextBlock FontFamily="Arial Black" FontSize="16"    Foreground="Red" WIDth="500">	欢迎         <Run FontSize="34" FontStyle="Italic" Foreground="Blue">    Run>        <Run FontSize="22" FontStretch="ExtraCondensed">来到    Run> <Run>这里!     Run> <lineBreak /> <Bold>哈哈哈哈      Bold> <Italic>我是谁?       Italic> <Underline>太阳出来了        Underline> <lineBreak />          TextBlock>           UserControl>

演示效果:

其中一些属性如下:

FontFamily: Silverlight内置了十几种常见拉丁字体,如Arial,Comic Sans MS,CourIEr New,LucIDa Sans Unicode等。默认使用的字体是 Portable User Interface。这是一种复合字体,它使用若干字体来实现 Silverlight 所支持的一组国际语言。这些字体包括针对许多西方书写系统的"LucIDa Sans Unicode"和"LucIDa Grande",以及针对东亚书写系统的更多字体。Silverlight 会根据文字的语言选择最佳的字体。

如果您指定的 FontFamily 不存在,即使它是唯一可用的字体系列值,Silverlight 仍将为 Portable User Interface 值提供备用值以用于呈现。

上面例子中,我把字体设置成 Arial Black,由于其中的中文无法找到对应字体,就使用了 Portable User Interface  来显示的。由于是中文,上述文字就是用宋体的样式来显示的。

如果我们直接把字体修改为其他中文字体,比如: 微软雅黑, 程序就会报警告:

The Font,微软雅黑,is not a built-in Silverlight Font and will not be displayed to users who run your Silverlight application.  To display the Font,either install the Font on your computer and then use Expression Blend to embed the Font in your project,or add the Font files to your project.   

如何解决这个问题以及关于字体的更多信息,你可以看下面几篇文章: 
文本和字体: http://msdn.microsoft.com/zh-cn/library/cc189010(VS.95).aspx 

解决Silverlight引用中文字体的问题

http://blog.joycode.com/joy/archive/2007/05/28/103441.aspx

Silverlight Tip of the Day #46 – Font Support in Silverlight

FontSize:指定所需字体大小(以像素为单位)。值必须为非负数。 默认值为 11 像素。

FontStretch: 指定所需的字体标志符号宽度。

默认值为 normal。FontStretch 的效果依赖于正使用的特定字体系列,并且只能指定字体系列中已经存在的字体。该属性不会导致以编程方式拉伸标志符号。(注意:如果 FontStretch 映射不可用,您可以考虑将某一变换应用于文本。)

压缩或者拉长的比率请参看下面文档

http://msdn.microsoft.com/zh-cn/library/system.windows.fontstretches(VS.95).aspx

FontStyle: 指定所需字形为普通还是斜体。
可设置两种值: normal,Italic(斜体)。默认值为 normal。FontWeight 的效果依赖于正使用的特定字体系列,并且通常只能指定字体系列中已经存在的字体。Silverlight 不以编程方式创建修剪变形来模拟斜体。

FontWeight: 指定所需的字体标志符号粗细。即:文字的胖瘦。可设置为Thin,Extralight,light,normal,Medium,SemiBold,Bold,ExtraBold,Black,ExtraBlack.这些值是否起作用还要取决于你所选择的字体。默认值为 normal。

FontWeight 的效果依赖于正使用的特定字体系列,并且通常只能指定字体系列中已经存在的字体。修剪不会以编程方式创建备用粗细值,除非字体系列中包含普通粗细字体,而不包含粗体字体。在这种情况下,Silverlight 将通过增加使用二维图形算法的笔画宽度来模拟粗体字体。

Textdecorations: 对文字的修饰,默认设置为无修饰。若要指定下划线修饰,请将 Textdecorations 属性设置为 Underline。

Foreground:  通过这个属性可以设置文字的前景色填充。不但可以使用颜色值,还可以通过设置solID color,gradIEnt,image 及 vIDeo笔刷进行填充。

比如下面代码就是使用的图片做的文字前景刷子

<TextBlock Text="SHRUBBERY">  <TextBlock.Foreground>    <ImageBrush ImageSource="forest.jpg"/>      TextBlock.Foreground>    TextBlock>

执行效果:

Run:   你可以在TextBlock中使用Run标签创建内联元素,每个Run都可以设置上面提到的属性。这样一篇文档,就可以每处显示的风格都不一样。

 

参考资料:

了解Silverlight提供的TextBlock(文字区块)元素对象
http://silverlight.cn/node/356

[Silverlight]TextBlock控件全攻略
http://www.cnblogs.com/024hi/archive/2008/12/04/1347337.html

文本和字体
http://msdn.microsoft.com/zh-cn/library/cc189010(VS.95).aspx

WPF4数据绑定应用之创建具有多种显示效果的字串
http://www.cnblogs.com/bitfan/archive/2009/11/12/1601857.html

总结

以上是内存溢出为你收集整理的Silverlight学习笔记--文字对象全部内容,希望文章能够帮你解决Silverlight学习笔记--文字对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1041077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存