FormattedText 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 Windows Presentation Foundation (WPF) 应用程序中的绘图文本提供低级别的控制。
public ref class FormattedText
public class FormattedText
type FormattedText = class
Public Class FormattedText
- 继承
-
FormattedText
示例
以下示例创建 一个 FormattedText 对象,然后将多个格式样式应用于文本。
protected override void OnRender(DrawingContext drawingContext)
{
string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor";
// Create the initial formatted text string.
FormattedText formattedText = new FormattedText(
testString,
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Verdana"),
32,
Brushes.Black);
// Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.
formattedText.MaxTextWidth = 300;
formattedText.MaxTextHeight = 240;
// Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.
// The font size is calculated in terms of points -- not as device-independent pixels.
formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5);
// Use a Bold font weight beginning at the 6th character and continuing for 11 characters.
formattedText.SetFontWeight(FontWeights.Bold, 6, 11);
// Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.
formattedText.SetForegroundBrush(
new LinearGradientBrush(
Colors.Orange,
Colors.Teal,
90.0),
6, 11);
// Use an Italic font style beginning at the 28th character and continuing for 28 characters.
formattedText.SetFontStyle(FontStyles.Italic, 28, 28);
// Draw the formatted text string to the DrawingContext of the control.
drawingContext.DrawText(formattedText, new Point(10, 0));
}
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext)
Dim testString As String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"
' Create the initial formatted text string.
Dim formattedText As New FormattedText(testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 32, Brushes.Black)
' Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.
formattedText.MaxTextWidth = 300
formattedText.MaxTextHeight = 240
' Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.
' The font size is calculated in terms of points -- not as device-independent pixels.
formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5)
' Use a Bold font weight beginning at the 6th character and continuing for 11 characters.
formattedText.SetFontWeight(FontWeights.Bold, 6, 11)
' Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.
formattedText.SetForegroundBrush(New LinearGradientBrush(Colors.Orange, Colors.Teal, 90.0), 6, 11)
' Use an Italic font style beginning at the 28th character and continuing for 28 characters.
formattedText.SetFontStyle(FontStyles.Italic, 28, 28)
' Draw the formatted text string to the DrawingContext of the control.
drawingContext.DrawText(formattedText, New Point(10, 0))
End Sub
注解
使用 FormattedText 对象可以绘制多行文本,可对文本中的每个字符单独设置格式。 下例演示应用了多种格式的文本。
带格式文本字符串的示例
就 WPF 中的文本功能而言, FormattedText 被视为“低级别”,因为它将文本作为图形元素处理。 WPF 中文本的其他方面处理专用于文本 (TextBlock、 TextBox) 的控件上下文中的文本、实现流文档模型 (请参阅 流文档概述) ,或支持 XPS 文档模型 (请参阅 WPF) 中的文档 。
中的 FormattedText 许多 setter 方法与 支持的附加属性 TextElement具有相似之处,但 TextElement 附加属性适用于流或 XPS 的更高级别的文本支持。
构造函数
属性
Baseline |
获取 FormattedText 对象中从第一行顶部到第一行基线的距离。 |
Extent |
获取从第一行最顶部绘制的像素到最后一行最底部绘制的像素之间的距离。 |
FlowDirection |
获取或设置 FlowDirection 对象的 FormattedText。 |
Height |
获取 FormattedText 对象中从第一行顶部到最后一行底部的距离。 |
LineHeight |
获取文本行之间的行高或行距。 |
MaxLineCount |
获取或设置要显示的最大行数。 超出 MaxLineCount 的文本将不会显示。 |
MaxTextHeight |
获取或设置文本列的最大高度。 |
MaxTextWidth |
获取或设置文本行的最大文本宽度(长度)。 |
MinWidth |
获取可完全容纳指定文本内容的可能的最小文本宽度。 |
OverhangAfter |
获取从文本最后一行的底部到最底部绘制的像素之间的距离。 |
OverhangLeading |
获取一行中从前导对齐点到前导绘制像素之间的最大距离。 |
OverhangTrailing |
获取一行中从尾随绘制像素到尾随对齐点之间的最大距离。 |
PixelsPerDip |
获取或设置呈现文本时应使用的 PixelsPerDip。 |
Text |
获取要显示的文本字符串。 |
TextAlignment |
获取或设置 FormattedText 对象中文本的对齐方式。 |
Trimming |
获取或设置省略文本的指示方式。 |
Width |
获取一行中前导对齐点和尾随对齐点之间的宽度(不包括任何尾随空格字符)。 |
WidthIncludingTrailingWhitespace |
获取一行中前导对齐点和尾随对齐点之间的宽度(包括所有尾随空格字符)。 |