Compartir a través de


Cómo: Dibujar texto en un elemento visual

En el ejemplo siguiente se muestra cómo dibujar texto en un objeto DrawingVisual mediante un objeto DrawingContext. Para devolver un contexto de dibujo, se llama al método RenderOpen de un objeto DrawingVisual. Puede dibujar gráficos y texto en un contexto de dibujo.

Para dibujar texto en el contexto del dibujo, use el método DrawText de un objeto DrawingContext. Cuando haya terminado de dibujar contenido en el contexto de dibujo, llame al método Close para cerrar el contexto de dibujo y conservar el contenido.

Ejemplo

        ' Create a DrawingVisual that contains text.
        Private Function CreateDrawingVisualText() As DrawingVisual
            ' Create an instance of a DrawingVisual.
            Dim drawingVisual As New DrawingVisual()

            ' Retrieve the DrawingContext from the DrawingVisual.
            Dim drawingContext As DrawingContext = drawingVisual.RenderOpen()

            ' Draw a formatted text string into the DrawingContext.
            drawingContext.DrawText(New FormattedText("Click Me!", CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 36, Brushes.Black), New Point(200, 116))

            ' Close the DrawingContext to persist changes to the DrawingVisual.
            drawingContext.Close()

            Return drawingVisual
        End Function
// Create a DrawingVisual that contains text.
private DrawingVisual CreateDrawingVisualText()
{
    // Create an instance of a DrawingVisual.
    DrawingVisual drawingVisual = new DrawingVisual();

    // Retrieve the DrawingContext from the DrawingVisual.
    DrawingContext drawingContext = drawingVisual.RenderOpen();

    // Draw a formatted text string into the DrawingContext.
    drawingContext.DrawText(
       new FormattedText("Click Me!",
          CultureInfo.GetCultureInfo("en-us"),
          FlowDirection.LeftToRight,
          new Typeface("Verdana"),
          36, System.Windows.Media.Brushes.Black),
          new System.Windows.Point(200, 116));

    // Close the DrawingContext to persist changes to the DrawingVisual.
    drawingContext.Close();

    return drawingVisual;
}
NotaNota

Para obtener el ejemplo de código completo del que se ha extraído el ejemplo de código anterior, vea Hit Test Using DrawingVisuals Sample.