DrawingVisual.RenderOpen Methode

Definition

Öffnet das DrawingVisual-Objekt für das Rendering.Opens the DrawingVisual object for rendering. Der zurückgegebene DrawingContext-Wert kann zum Rendern in das DrawingVisual verwendet werden.The returned DrawingContext value can be used to render into the DrawingVisual.

public:
 System::Windows::Media::DrawingContext ^ RenderOpen();
public System.Windows.Media.DrawingContext RenderOpen ();
member this.RenderOpen : unit -> System.Windows.Media.DrawingContext
Public Function RenderOpen () As DrawingContext

Gibt zurück

Ein Wert vom Typ DrawingContext.A value of type DrawingContext.

Beispiele

Im folgenden Beispiel wird ein DrawingVisual -Objekt erstellt, und es DrawingContext wird zurückgegeben.In the following example, a DrawingVisual object is created, and its DrawingContext returned.

// Create a DrawingVisual that contains a rectangle.
private DrawingVisual CreateDrawingVisualRectangle()
{
    DrawingVisual drawingVisual = new DrawingVisual();

    // Retrieve the DrawingContext in order to create new drawing content.
    DrawingContext drawingContext = drawingVisual.RenderOpen();

    // Create a rectangle and draw it in the DrawingContext.
    Rect rect = new Rect(new System.Windows.Point(160, 100), new System.Windows.Size(320, 80));
    drawingContext.DrawRectangle(System.Windows.Media.Brushes.LightBlue, (System.Windows.Media.Pen)null, rect);

    // Persist the drawing content.
    drawingContext.Close();

    return drawingVisual;
}
' Create a DrawingVisual that contains a rectangle.
Private Function CreateDrawingVisualRectangle() As DrawingVisual
    Dim drawingVisual As New DrawingVisual()

    ' Retrieve the DrawingContext in order to create new drawing content.
    Dim drawingContext As DrawingContext = drawingVisual.RenderOpen()

    ' Create a rectangle and draw it in the DrawingContext.
    Dim rect As New Rect(New Point(160, 100), New Size(320, 80))
    drawingContext.DrawRectangle(Brushes.LightBlue, CType(Nothing, Pen), rect)

    ' Persist the drawing content.
    drawingContext.Close()

    Return drawingVisual
End Function

Die Reihenfolge, in der Sie den Zeichnungs Kontext zeichnen, ist wichtig, und jede nachfolgende Zeichnung wird über den anderen gezeichnet.The order in which you draw into the drawing context is important - each succeeding drawing is drawn on top of the others. Im folgenden Beispiel wird zuerst das Rechteck und dann der Text gezeichnet.In the following example, the rectangle is drawn first, then the text.

// Retrieve the DrawingContext in order to draw into the visual object.
DrawingContext drawingContext = drawingVisual.RenderOpen();

// Draw a rectangle into the DrawingContext.
Rect rect = new Rect(new Point(160, 100), new Size(320, 80));
drawingContext.DrawRectangle(Brushes.LightBlue, (Pen)null, rect);

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

// Persist the drawing content.
drawingContext.Close();
' Retrieve the DrawingContext in order to draw into the visual object.
Dim drawingContext As DrawingContext = drawingVisual.RenderOpen()

' Draw a rectangle into the DrawingContext.
Dim rect As New Rect(New Point(160, 100), New Size(320, 80))
drawingContext.DrawRectangle(Brushes.LightBlue, CType(Nothing, Pen), rect)

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

' Persist the drawing content.
drawingContext.Close()

Hinweise

Wenn Sie die Close -Methode DrawingContextvon aufzurufen, ersetzt der aktuelle Zeichnungs Inhalt alle vorherigen Zeichnungs Inhalte, die DrawingVisualfür die definiert sind.When you call the Close method of the DrawingContext, the current drawing content replaces any previous drawing content defined for the DrawingVisual. Dies bedeutet, dass es keine Möglichkeit gibt, neuen Zeichnungs Inhalt an vorhandenen Zeichnungs Inhalt anzufügen.This means that there is no way to append new drawing content to existing drawing content.

Gilt für:

Siehe auch