Compartir a través de


DynamicRenderer.OnDraw Método

Definición

Dibuja la entrada de lápiz en tiempo real de forma que parece "fluir" del lápiz de Tablet PC u otro dispositivo señalador.

protected:
 virtual void OnDraw(System::Windows::Media::DrawingContext ^ drawingContext, System::Windows::Input::StylusPointCollection ^ stylusPoints, System::Windows::Media::Geometry ^ geometry, System::Windows::Media::Brush ^ fillBrush);
protected virtual void OnDraw (System.Windows.Media.DrawingContext drawingContext, System.Windows.Input.StylusPointCollection stylusPoints, System.Windows.Media.Geometry geometry, System.Windows.Media.Brush fillBrush);
abstract member OnDraw : System.Windows.Media.DrawingContext * System.Windows.Input.StylusPointCollection * System.Windows.Media.Geometry * System.Windows.Media.Brush -> unit
override this.OnDraw : System.Windows.Media.DrawingContext * System.Windows.Input.StylusPointCollection * System.Windows.Media.Geometry * System.Windows.Media.Brush -> unit
Protected Overridable Sub OnDraw (drawingContext As DrawingContext, stylusPoints As StylusPointCollection, geometry As Geometry, fillBrush As Brush)

Parámetros

drawingContext
DrawingContext

Objeto DrawingContext en el que se representa el trazo.

stylusPoints
StylusPointCollection

StylusPointCollection que representa el segmento del trazo que se va a dibujar.

geometry
Geometry

Geometry que representa la ruta de acceso del puntero del mouse.

fillBrush
Brush

Pincel que especifica el aspecto del trazo actual.

Ejemplos

En el ejemplo siguiente se muestra cómo invalidar el OnDraw método para representar dinámicamente la entrada de lápiz digital con .LinearGradientBrush

protected override void OnDraw(DrawingContext drawingContext,
                               StylusPointCollection stylusPoints,
                               Geometry geometry, Brush fillBrush)
{
    // Create a new Brush, if necessary
    if (brush == null)
    {
        Color primaryColor;

        if (fillBrush is SolidColorBrush)
        {
            primaryColor = ((SolidColorBrush)fillBrush).Color;
        }
        else
        {
            primaryColor = Colors.Red;
        }

        brush = new LinearGradientBrush(Colors.Blue, primaryColor, 20d);
    }

    drawingContext.DrawGeometry(brush, null, geometry);
}
Protected Overrides Sub OnDraw(ByVal drawingContext As DrawingContext, _
                               ByVal stylusPoints As StylusPointCollection, _
                               ByVal geometry As Geometry, _
                               ByVal fillBrush As Brush)

    ' Create a new Brush, if necessary
    If brush Is Nothing Then

        Dim primaryColor As Color

        If TypeOf fillBrush Is SolidColorBrush Then
            primaryColor = CType(fillBrush, SolidColorBrush).Color
        Else
            primaryColor = Colors.Red
        End If

        brush = New LinearGradientBrush(Colors.Blue, primaryColor, 20.0)

    End If

    drawingContext.DrawGeometry(brush, Nothing, geometry)

End Sub

Notas a los desarrolladores de herederos

Al invalidar OnDraw(DrawingContext, StylusPointCollection, Geometry, Brush) en una clase derivada, asegúrese de llamar al método de OnDraw(DrawingContext, StylusPointCollection, Geometry, Brush) la clase base.

Se aplica a