Wpf 墨水擦
我的画板是Wpf 墨水擦,wpf,silverlight,mvvm,inkcanvas,Wpf,Silverlight,Mvvm,Inkcanvas,我的画板是InkCanvas;我想更改橡皮擦的大小,所以我写了: 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 Re
InkCanvas
;我想更改橡皮擦的大小,所以我写了:
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
试试这个:
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;
}
但这不是它应该工作的方式,橡皮擦应该反映出变化,尽管我们不切换编辑模式,因为它适用于墨水形状。ink.橡皮擦形状=新的矩形形状(5,5);应该工作,为什么不工作???你和我可能不同意,但它在MSDN中,所以它是一个已知和预期的功能。