mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-26 11:17:56 +08:00
准备切换到左侧视图模式
This commit is contained in:
@@ -65,29 +65,36 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
_rubberbandBrush = null;
|
||||
_rubberbandPen = new Pen(new SolidColorBrush(Colors.Red) { Opacity = 0.5 }, _drawingDesignerItem.ColorViewModel.LineWidth);
|
||||
}
|
||||
else if (DrawMode >= DrawMode.Line && DrawMode <= DrawMode.DirectLine)
|
||||
else if (DrawMode == DrawMode.EraserPreview)
|
||||
{
|
||||
if (DrawMode == DrawMode.Line)
|
||||
_drawingDesignerItem = new EraserPreviewDrawingDesignerItemViewModel(_viewModel, dragStartPoint);
|
||||
|
||||
_rubberbandBrush = null;
|
||||
_rubberbandPen = new Pen(new SolidColorBrush(Colors.Red) { Opacity = 0.5 }, _drawingDesignerItem.ColorViewModel.LineWidth);
|
||||
}
|
||||
else if (DrawMode >= DrawMode.ErasableLine && DrawMode <= DrawMode.ErasableDirectLine)
|
||||
{
|
||||
if (DrawMode == DrawMode.ErasableLine)
|
||||
{
|
||||
_drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true);
|
||||
}
|
||||
else if (DrawMode == DrawMode.Rectangle)
|
||||
else if (DrawMode == DrawMode.ErasableRectangle)
|
||||
{
|
||||
_drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true);
|
||||
}
|
||||
else if (DrawMode == DrawMode.Ellipse)
|
||||
else if (DrawMode == DrawMode.ErasableEllipse)
|
||||
{
|
||||
_drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true);
|
||||
}
|
||||
else if (DrawMode == DrawMode.Polyline)
|
||||
else if (DrawMode == DrawMode.ErasablePolyline)
|
||||
{
|
||||
_drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true);
|
||||
}
|
||||
else if (DrawMode == DrawMode.Polygon)
|
||||
else if (DrawMode == DrawMode.ErasablePolygon)
|
||||
{
|
||||
_drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true);
|
||||
}
|
||||
else if (DrawMode == DrawMode.DirectLine)
|
||||
else if (DrawMode == DrawMode.ErasableDirectLine)
|
||||
{
|
||||
_drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, true);
|
||||
}
|
||||
@@ -96,29 +103,29 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
_rubberbandPen = new Pen(ColorObject.ToBrush(_drawingDesignerItem.ColorViewModel.LineColor), _drawingDesignerItem.ColorViewModel.LineWidth);
|
||||
_rubberbandPen.DashStyle = new DashStyle(StrokeDashArray.Dash[(int)_drawingDesignerItem.ColorViewModel.LineDashStyle], 1);
|
||||
}
|
||||
else if (DrawMode >= DrawMode.FillableLine && DrawMode <= DrawMode.FillableDirectLine)
|
||||
else if (DrawMode >= DrawMode.Line && DrawMode <= DrawMode.DirectLine)
|
||||
{
|
||||
if (DrawMode == DrawMode.FillableLine)
|
||||
if (DrawMode == DrawMode.Line)
|
||||
{
|
||||
_drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false);
|
||||
}
|
||||
else if (DrawMode == DrawMode.FillableRectangle)
|
||||
else if (DrawMode == DrawMode.Rectangle)
|
||||
{
|
||||
_drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false);
|
||||
}
|
||||
else if (DrawMode == DrawMode.FillableEllipse)
|
||||
else if (DrawMode == DrawMode.Ellipse)
|
||||
{
|
||||
_drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false);
|
||||
}
|
||||
else if (DrawMode == DrawMode.FillablePolyline)
|
||||
else if (DrawMode == DrawMode.Polyline)
|
||||
{
|
||||
_drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false);
|
||||
}
|
||||
else if (DrawMode == DrawMode.FillablePolygon)
|
||||
else if (DrawMode == DrawMode.Polygon)
|
||||
{
|
||||
_drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false);
|
||||
}
|
||||
else if (DrawMode == DrawMode.FillableDirectLine)
|
||||
else if (DrawMode == DrawMode.DirectLine)
|
||||
{
|
||||
_drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, false);
|
||||
}
|
||||
|
||||
@@ -13,19 +13,23 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
ConnectingLineBoundary = 13,
|
||||
//101-110为可部分擦除的形状
|
||||
Eraser = 100,
|
||||
Line = 101,
|
||||
Rectangle = 102,
|
||||
Ellipse = 103,
|
||||
Polyline = 104,
|
||||
Polygon = 105,
|
||||
DirectLine = 106,
|
||||
//不可部分擦除
|
||||
FillableLine = 111,
|
||||
FillableRectangle = 112,
|
||||
FillableEllipse = 113,
|
||||
FillablePolyline = 114,
|
||||
FillablePolygon = 115,
|
||||
FillableDirectLine = 116,
|
||||
EraserPreview = 101,
|
||||
ErasableLine = 110,
|
||||
ErasableRectangle = 111,
|
||||
ErasableEllipse = 112,
|
||||
ErasablePolyline = 113,
|
||||
ErasablePolygon = 114,
|
||||
ErasableDirectLine = 115,
|
||||
|
||||
Text = 200,
|
||||
Line = 210,
|
||||
Rectangle = 211,
|
||||
Ellipse = 212,
|
||||
Polyline = 213,
|
||||
Polygon = 214,
|
||||
DirectLine = 215,
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,6 +167,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
[XmlArray]
|
||||
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
||||
|
||||
|
||||
[XmlAttribute]
|
||||
public string Thumbnail
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private DrawMode _shapeDrawMode = DrawMode.Rectangle;
|
||||
private DrawMode _shapeDrawMode = DrawMode.ErasableRectangle;
|
||||
public DrawMode DrawingDrawMode
|
||||
{
|
||||
get
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Xml.Serialization;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramDesigner.Helpers;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
@@ -669,6 +670,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return menuOptions;
|
||||
}
|
||||
}
|
||||
public string Thumbnail
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public bool ShowMenuOptions
|
||||
{
|
||||
|
||||
@@ -20,11 +20,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.DirectLine, startPoint, erasable)
|
||||
public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableDirectLine, startPoint, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.DirectLine, points, erasable)
|
||||
public DirectLineDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.ErasableDirectLine, points, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -19,11 +19,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.Rectangle, startPoint, erasable)
|
||||
public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.Rectangle, points, erasable)
|
||||
public EllipseDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.ErasableRectangle, points, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -20,11 +20,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public LineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.Line, startPoint, erasable)
|
||||
public LineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
public LineDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.Line, points, erasable)
|
||||
public LineDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.ErasableLine, points, erasable)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -16,11 +16,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.Line, startPoint, erasable)
|
||||
public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.Line, points, erasable)
|
||||
public PolygonDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.ErasableLine, points, erasable)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -21,11 +21,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.Line, startPoint, erasable)
|
||||
public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableLine, startPoint, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.Line, points, erasable)
|
||||
public PolylineDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.ErasableLine, points, erasable)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.Rectangle, startPoint, erasable)
|
||||
public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, Point startPoint, bool erasable) : base(root, DrawMode.ErasableRectangle, startPoint, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.Rectangle, points, erasable)
|
||||
public RectangleDrawingDesignerItemViewModel(IDiagramViewModel root, List<Point> points, bool erasable) : base(root, DrawMode.ErasableRectangle, points, erasable)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.ComponentModel;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -347,6 +348,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
string Thumbnail
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
#region 如果这个赋值了,优先用这个的
|
||||
IDrawModeViewModel DrawModeViewModel
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user