FormattedText Класс

Определение

Предоставляет низкоуровневый элемент управления для рисования текста в приложениях 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 позволяет нарисовать многострочный текст, в котором каждый символ в тексте может быть отформатирован по отдельности. В следующем примере показан текст с несколькими форматами, примененным к нему.

Текст, отображаемый с помощью объекта FormattedText Пример форматируемой текстовой строки

С точки зрения функций текста в WPF считается "низким уровнем", FormattedText так как он обрабатывает текст как графические элементы. Другие аспекты текста в WPF обрабатывают текст в контексте элементов управления, выделенных для текста (,), TextBoxреализуют модель документа потока (TextBlockсм. обзор документа flow) или поддерживают модель документов XPS (см. документы в WPF).

Многие методы FormattedText задания имеют сходство с присоединенными свойствами, которые поддерживаются TextElement, но TextElement присоединенные свойства применяются к поддержке текста более высокого уровня для потока или XPS.

Конструкторы

Имя Описание
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, Double)

Инициализирует новый экземпляр класса с указанным текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью переднего FormattedText плана и значением pixelPerDip.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, Double)

Инициализирует новый экземпляр класса с указанным текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью переднего FormattedText плана, поведением подстановки чисел и значением pixelPerDip.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode, Double)

Инициализирует новый экземпляр класса с указанным текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью переднего FormattedText плана, поведением подстановки чисел и значением pixelPerDip.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode)
Устаревшие..

Инициализирует новый экземпляр FormattedText класса с указанным текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью, поведением подстановки чисел и режимом форматирования текста.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution)
Устаревшие..

Инициализирует новый экземпляр FormattedText класса с указанным текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью и поведением подстановки чисел.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush)
Устаревшие..

Инициализирует новый экземпляр FormattedText класса с указанным текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта и кистью.

Свойства

Имя Описание
Baseline

Получает расстояние от верхней части первой строки до базового плана первой строки FormattedText объекта.

Extent

Получает расстояние от самого верхнего отрисованного пикселя первой строки до самого нижнего отрисованного пикселя последней строки.

FlowDirection

Возвращает или задает FlowDirectionFormattedText объект.

Height

Получает расстояние от верхней части первой строки до нижней части последней FormattedText строки объекта.

LineHeight

Возвращает высоту строки или интервалы между строками текста.

MaxLineCount

Возвращает или задает максимальное количество отображаемых строк. Текст, превышающий MaxLineCount значение, не отображается.

MaxTextHeight

Возвращает или задает максимальную высоту текстового столбца.

MaxTextWidth

Возвращает или задает максимальную ширину текста (длину) для строки текста.

MinWidth

Получает наименьшую возможную ширину текста, которая может полностью содержать указанное текстовое содержимое.

OverhangAfter

Получает расстояние от нижней части последней строки текста до самого нижнего рисуемого пикселя.

OverhangLeading

Получает максимальное расстояние от точки выравнивания до начальной отрисовки пикселя линии.

OverhangTrailing

Получает максимальное расстояние от конечного рукописного пикселя до конечной точки выравнивания линии.

PixelsPerDip

Получает или задает пиксельную подсказку, в которой должен быть отрисован текст.

Text

Возвращает строку отображаемого текста.

TextAlignment

Возвращает или задает выравнивание текста в объекте FormattedText .

Trimming

Получает или задает средства, с помощью которых указывается пропуск текста.

Width

Возвращает ширину между начальными и конечными точками выравнивания линии, исключая все конечные пробелы.

WidthIncludingTrailingWhitespace

Получает ширину между начальными и конечными точками выравнивания линии, включая все конечные символы пробела.

Методы

Имя Описание
BuildGeometry(Point)

Geometry Возвращает объект, представляющий форматированный текст, включая все глифы и украшения текста.

BuildHighlightGeometry(Point, Int32, Int32)

Geometry Возвращает объект, представляющий ограничивающее поле выделения для указанной подстроки отформатированного текста.

BuildHighlightGeometry(Point)

Geometry Возвращает объект, представляющий ограничивающее поле выделения отформатированного текста.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetMaxTextWidths()

Извлекает массив ширины текста. Каждый элемент в массиве представляет максимальную ширину текста последовательных строк текста.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
SetCulture(CultureInfo, Int32, Int32)

CultureInfo Задает для указанного подмножества символов в объектеFormattedText.

SetCulture(CultureInfo)

CultureInfo Задает для всего набора символов в объектеFormattedText.

SetFontFamily(FontFamily, Int32, Int32)

Задает семейство шрифтов для указанного подмножества символов в объекте FormattedText .

SetFontFamily(FontFamily)

Задает семейство шрифтов FormattedText для объекта.

SetFontFamily(String, Int32, Int32)

Задает семейство шрифтов для указанного подмножества символов в объекте FormattedText .

SetFontFamily(String)

Задает семейство шрифтов для всего набора символов в объекте FormattedText .

SetFontSize(Double, Int32, Int32)

Задает размер шрифта для указанного подмножества символов в объекте FormattedText .

SetFontSize(Double)

Задает размер шрифта для всего набора символов в объекте FormattedText .

SetFontStretch(FontStretch, Int32, Int32)

Задает значение растяжения шрифта для указанного подмножества символов в объекте FormattedText .

SetFontStretch(FontStretch)

Задает значение растяжения шрифта для всего набора символов в объекте FormattedText .

SetFontStyle(FontStyle, Int32, Int32)

Задает стиль шрифта для указанного подмножества символов в объекте FormattedText .

SetFontStyle(FontStyle)

Задает стиль шрифта для всего набора символов в объекте FormattedText .

SetFontTypeface(Typeface, Int32, Int32)

Задает шрифт для указанного подмножества символов в объекте FormattedText .

SetFontTypeface(Typeface)

Задает шрифт для всего набора символов в объекте FormattedText .

SetFontWeight(FontWeight, Int32, Int32)

Изменяет указанный FontWeight текст в объекте FormattedText .

SetFontWeight(FontWeight)

Задает вес шрифта для всего набора символов в объекте FormattedText .

SetForegroundBrush(Brush, Int32, Int32)

Изменяет передний план Brush для указанного текста в объекте FormattedText .

SetForegroundBrush(Brush)

Изменяет передний план Brush для всего FormattedText объекта.

SetMaxTextWidths(Double[])

Задает массив максимальной ширины текста в FormattedTextпределах строки на основе каждой строки. Каждый элемент в массиве представляет максимальную ширину текста последовательных строк текста.

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

Задает поведение подстановки чисел для указанного текста в объекте FormattedText .

SetNumberSubstitution(NumberSubstitution)

Задает поведение подстановки чисел для всего набора символов в объекте FormattedText .

SetTextDecorations(TextDecorationCollection, Int32, Int32)

Задает указанный TextDecorationCollection текст в объекте FormattedText .

SetTextDecorations(TextDecorationCollection)

TextDecorationCollection Задает для всего набора символов в объектеFormattedText.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел