Pregunta

Tengo Sketchpad como InkCanvas;Quiero cambiar el tamaño del borrador, así que he escrito:

Private Sub Sketchpad_KeyDown(sender As System.Object, e As System.Windows.Input.KeyEventArgs) Handles Sketchpad.KeyDown

If e.Key = Key.OemMinus Then

' Decrease size of Eraser to 5*5 

Sketchpad.EraserShape = New RectangleStylusShape(5, 5)

End If

If e.Key = Key.OemPlus Then

' Increase size of Eraser to 50*50 

Sketchpad.EraserShape = New RectangleStylusShape(50, 50)

End If

If e.Key = Key.I Then
' Change editing mode to Ink
Sketchpad.EditingMode = InkCanvasEditingMode.Ink

End If

If e.Key = Key.E Then
' Change editing mode to Eraser
Sketchpad.EditingMode = InkCanvasEditingMode.EraseByPoint

End If

End Sub

Intenta esto:

  1. Seleccionar borrador presionando E, Eraser Stylustip aparece rectangular
  2. Presione + Signo para aumentar el tamaño, no verá ningún cambio.¿Por qué?
  3. Ahora, presiona I para cambiar el modo de edición, aparecerá la punta de tinta.
  4. presiona e nuevamente para reswitch a borrador.Verás que la forma de borrador se ha cambiado.

    ¿Por qué no después de presionar + sign?

¿Fue útil?

Solución

de Ayuda :

"Si cambia el tipo de borrers, el cursor prestado en la tinta no se actualiza hasta que el siguiente cambio de edición cambie".

He probado el siguiente código y funciona bien:

if (e.Key == Key.OemMinus)
{
    ink.EraserShape = new RectangleStylusShape(5, 5);
    var editMode = ink.EditingMode;
    ink.EditingMode = InkCanvasEditingMode.None;
    ink.EditingMode = editMode;
}
if (e.Key == Key.OemPlus)
{
    ink.EraserShape = new RectangleStylusShape(50, 50);
    var editMode = ink.EditingMode;
    ink.EditingMode = InkCanvasEditingMode.None;
    ink.EditingMode = editMode;
}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top