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