Condividi tramite


DynamicRenderer.OnDraw Metodo

Definizione

Disegna l'input di penna in tempo reale in modo che sembri "fluire" dalla penna del Tablet PC o altro dispositivo di puntamento.

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)

Parametri

drawingContext
DrawingContext

Oggetto DrawingContext sul quale verrà eseguito il rendering del tratto.

stylusPoints
StylusPointCollection

Oggetto StylusPointCollection che rappresenta il segmento del tratto da disegnare.

geometry
Geometry

Struttura Geometry che rappresenta il percorso del puntatore del mouse.

fillBrush
Brush

Pennello che specifica l'aspetto del tratto corrente.

Esempio

Nell'esempio seguente viene illustrato come eseguire l'override del metodo per eseguire il rendering dinamico dell'input OnDraw penna digitale con un LinearGradientBrushoggetto .

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

Note per gli eredi

Quando si esegue l'override OnDraw(DrawingContext, StylusPointCollection, Geometry, Brush) in una classe derivata, assicurarsi di chiamare il metodo della OnDraw(DrawingContext, StylusPointCollection, Geometry, Brush) classe base.

Si applica a