Condividi tramite


Procedura: Disegnare testo in un oggetto visivo

Nell'esempio seguente viene illustrato come disegnare testo in un DrawingVisual usando un oggetto DrawingContext. Un contesto di disegno viene restituito chiamando il metodo RenderOpen di un oggetto DrawingVisual. È possibile disegnare grafica e testo in un contesto di disegno.

Per disegnare testo nel contesto di disegno, utilizzare il metodo DrawText di un oggetto DrawingContext. Alla fine di disegnare il contenuto nel contesto di disegno, chiamare il metodo Close per chiudere il contesto di disegno e rendere persistente il contenuto.

Esempio

// 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;
}
' 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

Nota

Per l'esempio di codice completo da cui è stato estratto l'esempio di codice precedente, vedere Hit Test using DrawingVisuals Sample.