Stroke.DrawCore(DrawingContext, DrawingAttributes) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Воспроизводит Stroke для заданного DrawingContext с использованием указанного DrawingAttributes.
protected:
virtual void DrawCore(System::Windows::Media::DrawingContext ^ drawingContext, System::Windows::Ink::DrawingAttributes ^ drawingAttributes);
protected virtual void DrawCore (System.Windows.Media.DrawingContext drawingContext, System.Windows.Ink.DrawingAttributes drawingAttributes);
abstract member DrawCore : System.Windows.Media.DrawingContext * System.Windows.Ink.DrawingAttributes -> unit
override this.DrawCore : System.Windows.Media.DrawingContext * System.Windows.Ink.DrawingAttributes -> unit
Protected Overridable Sub DrawCore (drawingContext As DrawingContext, drawingAttributes As DrawingAttributes)
Параметры
- drawingContext
- DrawingContext
Объект DrawingContext для отображения росчерка.
- drawingAttributes
- DrawingAttributes
Объект DrawingAttributes, определяющий атрибуты отображаемого росчерка.
Примеры
В следующем примере показано, как нарисовать круг на каждом StylusPoint из параметров Stroke. FitToCurve Если свойству присвоено значение true
, GetBezierStylusPoints используется для получения точек пера. StylusPoints В противном случае используется свойство.
protected override void DrawCore(DrawingContext context, DrawingAttributes overrides)
{
// Draw the stroke. Calling base.DrawCore accomplishes the same thing.
Geometry geometry = GetGeometry(overrides);
context.DrawGeometry(new SolidColorBrush(overrides.Color), null, geometry);
StylusPointCollection points;
// Get the stylus points used to draw the stroke. The points used depends on
// the value of FitToCurve.
if (this.DrawingAttributes.FitToCurve)
{
points = this.GetBezierStylusPoints();
}
else
{
points = this.StylusPoints;
}
// Draw a circle at each stylus point.
foreach (StylusPoint p in points)
{
context.DrawEllipse(null, new Pen(Brushes.Black, 1), (Point)p, 5, 5);
}
}
Protected Overrides Sub DrawCore(ByVal context As DrawingContext, _
ByVal overridedAttributes As DrawingAttributes)
' Draw the stroke. Calling base.DrawCore accomplishes the same thing.
Dim geometry As Geometry = GetGeometry(overridedAttributes)
context.DrawGeometry(New SolidColorBrush(overridedAttributes.Color), Nothing, geometry)
Dim points As StylusPointCollection
' Get the stylus points used to draw the stroke. The points used depends on
' the value of FitToCurve.
If Me.DrawingAttributes.FitToCurve Then
points = Me.GetBezierStylusPoints()
Else
points = Me.StylusPoints
End If
' Draw a circle at each stylus point.
Dim p As StylusPoint
For Each p In points
context.DrawEllipse(Nothing, New Pen(Brushes.Black, 1), CType(p, Point), 5, 5)
Next p
End Sub
Комментарии
Переопределите DrawCore метод для выполнения пользовательского рисования при наследовании Stroke от класса.