DynamicRenderer.OnDraw Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Рисует рукописный ввод в реальном времени, так что кажется, будто он поступает от планшетного пера или другого указующего устройства.
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)
Параметры
- drawingContext
- DrawingContext
Объект DrawingContext, в котором выполняется отрисовка росчерка пера.
- stylusPoints
- StylusPointCollection
Коллекция StylusPointCollection, представляющая сегмент рисуемого росчерка пера.
- fillBrush
- Brush
Кисть, определяющая внешний вид текущего росчерка пера.
Примеры
В следующем примере показано, как переопределить метод для динамической OnDraw отрисовки цифрового рукописного ввода с помощью .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
Примечания для тех, кто наследует этот метод
При переопределении OnDraw(DrawingContext, StylusPointCollection, Geometry, Brush) в производном классе обязательно вызовите метод базового класса OnDraw(DrawingContext, StylusPointCollection, Geometry, Brush) .