代码改变世界

WPF/E CTP Quick Start - 第七部分:文本(翻译)

2006-12-12 00:51 Jeffrey Zhao 阅读(...) 评论(...) 编辑 收藏

TextBlock元素能使您在WPF/E内容中添加文本。这篇文档描述了使用TextBlock元素的方式。

这篇文档包含了以下部分:

 

TextBlock元素

如果您想为WPF/E控件添加文本的话,则需要创建一个TextBlock元素,并把文本内容添加在<TextBlock>标签之间。下面的示例使用了一个TextBlock用于显示一些文本。

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   
    <TextBlock>hello world!</TextBlock>
</Canvas>

重新开始查看内容

 

常用TextBlock属性

除了作为UIElement所具有的属性,例如ClipOpacity之外,TextBlock元素还提供了更多的属性,包括以下几个:

  • FontSize:字体颜色,以“points”作为单位。
  • FontStyle:字体样式,可选项为Normal、Italic和Oblique。
  • FontWeight:字体分量。可选项为Thin、ExtraLight、Light、Normal、Medium、SemiBold、Bold、ExtraBold、Black和ExtraBlack。
  • FontFamily:字体的名称。
  • Forground:用于填充TextBlock内部的Brush。您可以使用实心颜色,渐变或者一幅图片来填充。您可以参考“绘图与填充”以获得更多信息。

下面的例子展示了这些属性的使用效果:

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <TextBlock FontSize="40"
        FontFamily="Georgia"
        FontStyle="Italic" FontWeight="Bold"
        Canvas.Top="20" Canvas.Left="20">

        Hello world!

        <TextBlock.Foreground>
            <LinearGradientBrush>
              <GradientStop Color="SlateBlue" Offset="0.0" />
              <GradientStop Color="Black" Offset="1.0" />
            </LinearGradientBrush>
        </TextBlock.Foreground>
    </TextBlock>
</Canvas>

重新开始查看内容

 

Run元素

您可以在同一个TextBlock内使用Run元素来混合多种字体。Run具有和TextBlock相同的字体属性,尽管它不能使用Canvas.LeftCanvas.Top属性来定位。下面的示例使用了一个Run元素来改变TextBlock内一部分文字的大小。

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   
    <TextBlock>
        Hello <Run FontSize="30">world</Run>
    </TextBlock>
</Canvas>

重新开始查看内容

 

指定多种字体

并不是每一台机器上都有所有的字体。FontFamily属性支持使用多种字体,当第一种字体不存在时,将会应用之后的字体设置。而“Portable User Interface”字体在任何机器上都会得到支持。下面的例子展示了不同的FontFamily设置:

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   
    <TextBlock FontFamily="Arial, Times New Roman"
        Text="Hello World" FontSize="20"/>
    <TextBlock FontFamily="Times New Roman, Arial" Canvas.Top="40"
        Text="Hello World" FontSize="20"/>
    <TextBlock FontFamily="Portable User Interface" Canvas.Top="80"
        Text="Hello World" FontSize="20"/>
</Canvas>

重新开始查看内容

 

下面该做什么呢?

在下一部分“媒体(音频和视频)”中,您会了解MediaElement对象的使用方式,您可以使用它来播放媒体文件。