画板基础基本完成

This commit is contained in:
艾竹
2023-05-14 00:31:25 +08:00
parent 147a84cf91
commit 8003cebf99
40 changed files with 3198 additions and 374 deletions

View File

@@ -98,11 +98,11 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (_viewModel.DrawModeViewModel != null)
{
return _viewModel.DrawModeViewModel.LineDrawMode;
return _viewModel.DrawModeViewModel.GetDrawMode();
}
else
{
return _service.DrawModeViewModel.LineDrawMode;
return _service.DrawModeViewModel.GetDrawMode();
}
}
}
@@ -271,6 +271,14 @@ namespace AIStudio.Wpf.DiagramDesigner
{
EnterMove();
}
else if (_service.DrawModeViewModel.CursorMode == CursorMode.ColorPicker)
{
EnterColorPicker();
}
else if (_service.DrawModeViewModel.CursorMode == CursorMode.Exit)
{
ExitCursor();
}
}
}
}
@@ -295,6 +303,23 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private void EnterColorPicker()
{
// create rubberband adorner
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);
if (adornerLayer != null)
{
DrawingRubberbandAdorner adorner = new DrawingRubberbandAdorner(this, new Point());
if (adorner != null)
{
adornerLayer.Add(adorner);
StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/color-picker.cur", UriKind.RelativeOrAbsolute));
adorner.Cursor = new Cursor(sri.Stream);
}
}
}
private void ExitCursor()
{
this.Cursor = Cursors.Arrow;
@@ -361,7 +386,7 @@ namespace AIStudio.Wpf.DiagramDesigner
SourceConnector = new Connector() { Content = new PartCreatedConnectorInfo(currentPoint.X, currentPoint.Y), Tag = "虚拟的连接点" };
}
}
else if (_service.DrawModeViewModel.DrawingDrawModeSelected)
else if (_service.DrawModeViewModel.SharpDrawModeSelected || _service.DrawModeViewModel.DrawingDrawModeSelected)
{
// create rubberband adorner
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);