Added Undo and Redo

This commit is contained in:
Ano-sys
2025-03-23 00:24:19 +01:00
parent da3dc87ed3
commit 9d4961af86
+24 -1
View File
@@ -84,7 +84,8 @@ public class MainWindowViewModel : ViewModelBase
private void OnCanvasPointerPressed(PointerPressedEventArgs? e) private void OnCanvasPointerPressed(PointerPressedEventArgs? e)
{ {
if (e == null) return; if (e == null) return;
if(UndoDrawingPoints.Count > 0) UndoDrawingPoints.Clear();
IsDrawing = true; IsDrawing = true;
DrawingPoints.Add(new DrawingPoints(Brush, BrushThickness)); DrawingPoints.Add(new DrawingPoints(Brush, BrushThickness));
DrawingPoint = DrawingPoints[^1]; DrawingPoint = DrawingPoints[^1];
@@ -111,4 +112,26 @@ public class MainWindowViewModel : ViewModelBase
{ {
IsDrawing = false; IsDrawing = false;
} }
public void GlobalKeyUpHandler(KeyEventArgs e)
{
if (e.KeyModifiers != KeyModifiers.Control) return;
switch (e.Key)
{
case Key.Z:
if (DrawingPoints.Count > 0)
{
UndoDrawingPoints.Add(DrawingPoints[^1]);
DrawingPoints.Remove(DrawingPoints[^1]);
}
break;
case Key.Y:
if (UndoDrawingPoints.Count > 0)
{
DrawingPoints.Add(UndoDrawingPoints[^1]);
UndoDrawingPoints.Remove(UndoDrawingPoints[^1]);
}
break;
}
}
} }