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所具有的属性,例如
Clip和
Opacity之外,
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.Left和
Canvas.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>