TextFormatter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona los servicios para dar formato al texto e interrumpir líneas de texto mediante un cliente de diseño de texto personalizado.
public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
- Herencia
-
TextFormatter
- Implementaciones
Ejemplos
En el ejemplo siguiente se muestra cómo usar un TextFormatter objeto para generar líneas de texto con formato que se pueden mostrar como objetos de dibujo.
// Create a TextFormatter object.
TextFormatter formatter = TextFormatter.Create();
// Create common paragraph property settings.
CustomTextParagraphProperties customTextParagraphProperties
= new CustomTextParagraphProperties();
// Format each line of text from the text store and draw it.
while (textStorePosition < customTextSource.Text.Length)
{
// Create a textline from the text store using the TextFormatter object.
using (TextLine myTextLine = formatter.FormatLine(
customTextSource,
textStorePosition,
96 * 6,
customTextParagraphProperties,
null))
{
// Draw the formatted text into the drawing context.
myTextLine.Draw(drawingContext, linePosition, InvertAxes.None);
// Update the index position in the text store.
textStorePosition += myTextLine.Length;
// Update the line position coordinate for the displayed line.
linePosition.Y += myTextLine.Height;
}
}
' Create a TextFormatter object.
Dim formatter As TextFormatter = TextFormatter.Create()
' Create common paragraph property settings.
Dim customTextParagraphProperties As New CustomTextParagraphProperties()
' Format each line of text from the text store and draw it.
Do While textStorePosition < customTextSource.Text.Length
' Create a textline from the text store using the TextFormatter object.
Using myTextLine As TextLine = formatter.FormatLine(customTextSource, textStorePosition, 96 * 6, customTextParagraphProperties, Nothing)
' Draw the formatted text into the drawing context.
myTextLine.Draw(drawingContext, linePosition, InvertAxes.None)
' Update the index position in the text store.
textStorePosition += myTextLine.Length
' Update the line position coordinate for the displayed line.
linePosition.Y += myTextLine.Height
End Using
Loop
Comentarios
TextFormatter es el motor de texto WPF que proporciona servicios para dar formato a texto y romper líneas de texto. TextFormatter puede controlar diferentes formatos de caracteres de texto y estilos de párrafo, e incluye compatibilidad con el diseño de texto internacional.
A diferencia de una API de texto tradicional, TextFormatter interactúa con un cliente de diseño de texto a través de un conjunto de métodos de devolución de llamada. Requiere que el cliente proporcione estos métodos en una implementación de la TextSource clase . En el diagrama siguiente se muestra la interacción del cliente de formateador de texto y el cliente de diseño de texto.
Interacción entre el cliente de diseño de texto y el objeto TextFormatter
Servicios de formato de texto
TextFormatter proporciona compatibilidad con características de texto, como la tipografía OpenType, así como la compatibilidad con características de nivel de párrafo, línea y ejecución de texto.
En la tabla siguiente se muestra una lista de los servicios clave TextFormatter admitidos para las características de texto.
Característica | Descripción |
---|---|
Pincel de fondo | Brush que se usa para el color de fondo. Consulte la propiedad BackgroundBrush. |
Alineación de línea base | Determina la distancia de línea base de la línea. Consulte la propiedad BaselineAlignment. |
Vinculación de fuentes | Proporciona la vinculación de fuentes mediante el uso de fuentes compuestas. |
Pincel de primer plano | Brush que se usa para el color de primer plano. Consulte la propiedad ForegroundBrush. |
OpenType | Características tipográficas de OpenType avanzadas, como alternativas contextuales y ligaduras estándar. Vea las propiedades de la TextRunTypographyProperties clase. |
Tipo de letra | Determina el tipo de letra, así como el peso, el estilo y el ajuste. Consulte la propiedad Typeface. |
Decoración de texto | Proporciona compatibilidad con TextDecoration objetos, como subrayado o tachado. Consulte la propiedad TextDecorations. |
Efectos de texto | Proporciona compatibilidad con TextEffect objetos. Consulte la propiedad TextEffects. |
En la tabla siguiente se muestra una lista de los servicios admitidos clave TextFormatter para las características de nivel de párrafo.
Característica | Descripción |
---|---|
Flow dirección | Flow dirección del párrafo: de izquierda a derecha o de derecha a izquierda. Consulte la propiedad FlowDirection. |
Sangría de línea | Sangría para cada línea del párrafo. Consulte la propiedad Indent. |
Marcador | Características de marcador de la primera línea del párrafo. Consulte la propiedad TextMarkerProperties. |
Sangría de párrafo | Sangría de la primera línea del párrafo. Consulte la propiedad ParagraphIndent. |
Tabulaciones | Incluye compatibilidad con la alineación de pestañas y el líder de tabulación. |
Ancho | Determine el ancho mínimo y máximo del párrafo. Consulte los FormatMinMaxParagraphWidth métodos. |
Ajuste de línea | Determine cómo se ajusta el texto cuando llega al borde del flujo. Consulte la propiedad TextWrapping. |
En la tabla siguiente se muestra una lista de los servicios clave TextFormatter admitidos para las características de nivel de línea.
Característica | Descripción |
---|---|
Alignment | Alineación de texto: izquierda, derecha, centrada o justificada. Consulte la propiedad TextAlignment. |
Alto de línea | Alto de la línea. Consulte la propiedad Height. |
Contracción de líneas | Compatibilidad con contracción de líneas. Vea el Collapse método . |
Medida de caja negra | Representa las métricas utilizadas para colocar un carácter en la fuente de un dispositivo. Vea la descripción de la clase CharacterMetrics. |
Compatibilidad con intercalación | Compatibilidad con la navegación y edición de símbolos de intercalación. Vea las TextLine propiedades de aciertos de caracteres, como GetNextCaretCharacterHit y GetPreviousCaretCharacterHit. |
En la tabla siguiente se muestra una lista de los servicios clave TextFormatter admitidos para las características de nivel de ejecución de texto.
Característica | Descripción |
---|---|
Ejecución oculta | Intervalo de caracteres que no están visibles. Vea el TextHidden objeto . |
Problemático | Salto de línea y párrafo. |
Constructores
TextFormatter() |
Inicializa una nueva instancia de la clase TextFormatter. |
Métodos
Create() |
Crea una nueva instancia de la clase TextFormatter. Se trata de un método estático. |
Create(TextFormattingMode) |
Crea una nueva instancia de la clase TextFormatter con el modo de formato especificado. Se trata de un método estático. |
Dispose() |
Libera todos los recursos administrados y no administrados que usa el objeto TextFormatter. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak) |
Crea un objeto TextLine que se usa para dar formato y mostrar el contenido de un documento. |
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) |
Crea un objeto TextLine que se usa para dar formato y mostrar el contenido de un documento. |
FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) |
Devuelve un valor que representa el ancho de párrafo menor y mayor posible que puede incluir totalmente el contenido de texto especificado. |
FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) |
Devuelve un valor que representa el ancho de párrafo menor y mayor posible que puede incluir totalmente el contenido de texto especificado. |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |