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 обрабатывают текст в контексте элементов управления, выделенных для текста (TextBlock, ), TextBoxреализуют модель документа потока (см. статью Общие сведения о документе flow) или поддерживают модель документов XPS (см. статью Документы в WPF).
Многие методы задания в FormattedText имеют сходство с присоединенными свойствами, поддерживаемыми TextElement, но TextElement присоединенные свойства применяются к поддержке текста более высокого уровня для потока или XPS.
Конструкторы
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush) |
Устаревшие..
Инициализирует новый экземпляр класса FormattedText указанными текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта и кистью. |
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, Double) |
Инициализирует новый экземпляр класса FormattedText с указанными текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью переднего плана и значением pixelsPerDip. |
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution) |
Устаревшие..
Инициализирует новый экземпляр класса FormattedText указанными текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью и поведением подстановки чисел. |
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, Double) |
Инициализирует новый экземпляр класса FormattedText с указанными текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью переднего плана, поведением подстановки чисел и значением pixelsPerDip. |
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode) |
Устаревшие..
Инициализирует новый экземпляр класса FormattedText указанными текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью, поведением подстановки чисел и режимом форматирования текста. |
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode, Double) |
Инициализирует новый экземпляр класса FormattedText с указанными текстом, языком и региональными параметрами, направлением потока, шрифтом, размером шрифта, кистью переднего плана, поведением подстановки чисел и значением pixelsPerDip. |
Свойства
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 |
Получает ширину между ведущей и замыкающей точками выравнивания в строке, включая все ведущие пробелы. |
Методы
BuildGeometry(Point) |
Возвращает объект Geometry, представляющий форматированный текст, включая все глифы и оформление текста. |
BuildHighlightGeometry(Point) |
Возвращает объект Geometry, представляющий выделенный ограничивающий прямоугольник форматированного текста. |
BuildHighlightGeometry(Point, Int32, Int32) |
Возвращает объект Geometry, представляющий выделенный ограничивающий прямоугольник заданной подстроки форматированного текста. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetMaxTextWidths() |
Извлекает массив значений ширины текста. Каждый элемент этого массива представляет максимальную ширину последовательных строк текста. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
SetCulture(CultureInfo) |
Задает CultureInfo для всего набора символов в объекте FormattedText. |
SetCulture(CultureInfo, Int32, Int32) |
Задает CultureInfo для заданного подмножества символов в объекте FormattedText. |
SetFontFamily(FontFamily) |
Задает семейство шрифтов для объекта FormattedText. |
SetFontFamily(FontFamily, Int32, Int32) |
Задает семейство шрифтов для заданного подмножества символов в объекте FormattedText. |
SetFontFamily(String) |
Задает семейство шрифтов для всего набора символов в объекте FormattedText. |
SetFontFamily(String, Int32, Int32) |
Задает семейство шрифтов для заданного подмножества символов в объекте FormattedText. |
SetFontSize(Double) |
Задает размер шрифта для всего набора символов в объекте FormattedText. |
SetFontSize(Double, Int32, Int32) |
Задает размер шрифта для заданного подмножества символов в объекте FormattedText. |
SetFontStretch(FontStretch) |
Задает значение растяжения для всего набора символов в объекте FormattedText. |
SetFontStretch(FontStretch, Int32, Int32) |
Задает значение растяжения для заданного подмножества символов в объекте FormattedText. |
SetFontStyle(FontStyle) |
Задает стиль шрифта для всего набора символов в объекте FormattedText. |
SetFontStyle(FontStyle, Int32, Int32) |
Задает стиль шрифта для заданного подмножества символов в объекте FormattedText. |
SetFontTypeface(Typeface) |
Задает шрифт для всего набора символов в объекте FormattedText. |
SetFontTypeface(Typeface, Int32, Int32) |
Задает шрифт для заданного подмножества символов в объекте FormattedText. |
SetFontWeight(FontWeight) |
Задает плотность шрифта для всего набора символов в объекте FormattedText. |
SetFontWeight(FontWeight, Int32, Int32) |
Изменяет FontWeight для заданного текста в объекте FormattedText. |
SetForegroundBrush(Brush) |
Изменяет цвет текста Brush для всего объекта FormattedText. |
SetForegroundBrush(Brush, Int32, Int32) |
Изменяет Brush для рисования текста для заданного текста в объекте FormattedText. |
SetMaxTextWidths(Double[]) |
Задает массив максимальных значений ширины текста в FormattedText, по одном значению на строку. Каждый элемент этого массива представляет максимальную ширину последовательных строк текста. |
SetNumberSubstitution(NumberSubstitution) |
Задает поведение подстановки для всего набора символов в объекте FormattedText. |
SetNumberSubstitution(NumberSubstitution, Int32, Int32) |
Задает поведение подстановки чисел для заданного текста в объекте FormattedText. |
SetTextDecorations(TextDecorationCollection) |
Задает TextDecorationCollection для всего набора символов в объекте FormattedText. |
SetTextDecorations(TextDecorationCollection, Int32, Int32) |
Задает TextDecorationCollection для заданного текста в объекте FormattedText. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |