diff --git a/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs b/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs index 6f4fbaf..ea0c975 100644 --- a/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs +++ b/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs @@ -63,7 +63,7 @@ namespace AIStudio.Wpf.DiagramDesigner Point point = sourceDataItem.MiddlePosition; - partialConnection = new ConnectionViewModel(_viewModel, sourceDataItem, new PartCreatedConnectorInfo(point.X, point.Y), DrawMode, RouterMode); + partialConnection = new ConnectionViewModel(_viewModel, sourceDataItem, new PartCreatedConnectorInfo(point.X, point.Y), LineDrawMode, RouterMode); _viewModel.Add(partialConnection); partialConnection.ZIndex = -1; @@ -106,6 +106,22 @@ namespace AIStudio.Wpf.DiagramDesigner } } } + + private DrawMode LineDrawMode + { + get + { + if (_viewModel.DrawModeViewModel != null) + { + return _viewModel.DrawModeViewModel.LineDrawMode; + } + else + { + return _service.DrawModeViewModel.LineDrawMode; + } + } + } + private RouterMode RouterMode { get @@ -496,7 +512,7 @@ namespace AIStudio.Wpf.DiagramDesigner ConnectorInfoBase sinkDataItem = SinkConnector.Info; _viewModel.Remove(partialConnection); - _viewModel.AddItemCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode)); + _viewModel.AddItemCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, LineDrawMode, RouterMode)); } else if (partialConnection.IsFullConnection)//自动连接模式 { @@ -508,7 +524,7 @@ namespace AIStudio.Wpf.DiagramDesigner ConnectorInfoBase sinkDataItem = new PartCreatedConnectorInfo(currentPoint.X, currentPoint.Y); _viewModel.Remove(partialConnection); - _viewModel.AddItemCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode)); + _viewModel.AddItemCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, LineDrawMode, RouterMode)); } else {