Silverlight文本元素—基本修饰
时间:2010-11-23 来源:王祖康
在Silverlight中TextBlock元素是大家最熟悉的文本元素,最近我学习了一些文本元素,总结了一下我们可能经常用到的文本元素的一些熟悉。希望对大家的学习SIlverlight有所帮助!
<TextBlock Text="……. "/> 这种方式可能是我们最常用的方式了。那么我们也可以用下面的形式来改变一下TextBlock所显示文本的形式。
<StackPanel x:Name="LayoutRoot" Background="AliceBlue">
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoMediumBlue" FontSize="24" FontWeight="Bold" Foreground="MediumBlue"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoBrown" FontSize="24" FontWeight="Bold" Foreground="Brown" FontFamily="Courier New"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoGreen" FontSize="24" Foreground="Green" FontStyle="Italic" FontFamily="Courier New"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoBlack" FontSize="24" FontWeight="Bold" Foreground="Black" FontFamily="Times New Roman"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoBurlyWood" FontSize="24" FontWeight="Bold" Foreground="BurlyWood" FontFamily="Comic Sans MS"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoAqua" FontSize="24" FontWeight="Bold" Foreground="Aqua" FontFamily="Georgia"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoBisque" FontSize="24" FontWeight="Bold" Foreground="Bisque" FontFamily="Trebuchet MS"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoChartreuse" FontSize="24" FontWeight="Bold" Foreground="Chartreuse" FontFamily="Arial"/>
<TextBlock Text="24号?字Á?体¬?,ê?加¨®粗ä?,ê?前¡ã景¡ã色¦?:êoChocolate" FontSize="24" FontWeight="Bold" Foreground="Chocolate" FontFamily="Verdana"/>
</StackPanel>
效果如图所示:
看完这些文本显示不同效果之后,我们可能对TextBlock元素的属性还是不太清楚。那么下面让我们来看看这些属性到底作用是什么吧!
FontFamily:获取或者设置字体名称;
FontSize:获取或者设置字号,单位是像素,当然这些值是飞负的;
FontStretch:获取或者设置字体的拉伸程度;
FontStyle:获取或者设置字体样式;
FontWeight:获取或者设置字体粗细程度;
Foreground:获取或者设置文本前景色;
TextDecorations:获取或者设置文本的修饰效果。
另外Silverlight提供了一个Run对象,这个对象能够与TextBlock配合生成内容丰富的文本。Run对象的字体属性和TextBlock完全相同,下面我们通过一个小例子来说明一下Run对象的使用吧!
<TextBlock FontSize="20" TextWrapping="Wrap">
<Run FontWeight="Bold" FontSize="30" Text="T"/>
his is
<Run TextDecorations="Underline">Run</Run>
<Run Foreground="Orange" FontFamily="Courier New" >text element </Run>
</TextBlock>
效果如图:
还有一种情况是当我们遇到大量的文本时,这些文本内容可能受到容器或者浏览器的限制,不能够完整的显示出来所有的内容,那么我们该怎么办的呢?
我们现在又两种解决办法,第一种办法是使用TextBlock对象自带的TextWrapping属性,这个属性用于指定是否开启自动提行功能,该属性包括NoWrap和Wrap两个成员。第二种办法是使用LineBreak对象手动控制文本的提行。LineBreak对象使用方法和我们的换行符
很是相像,我们只需要把LineBreak对象添加到自己所希望提行的位置就OK了。