连接线改成path绘制,方便绘制曲线

This commit is contained in:
akwkevin
2021-08-06 18:12:05 +08:00
parent e9c043ae3a
commit 8bec38e040
17 changed files with 494 additions and 124 deletions

View File

@@ -59,7 +59,7 @@ namespace AIStudio.Wpf.ADiagram.Models
public SFCToolBoxData(SFCNodeKinds kind, Type type, double width = 32, double height = 32) : base(null, null, type, width, height)
{
Kind = kind;
ColorViewModel.LineColor.Color = Colors.Black;
ColorViewModel.LineColor.Color = Colors.Gray;
ColorViewModel.FillColor.Color = Colors.Blue;
}

View File

@@ -287,7 +287,7 @@ namespace AIStudio.Wpf.ADiagram.ViewModels
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
ConnectorViewModel connectionVM = new ConnectorViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connection);
ConnectorViewModel connectionVM = new ConnectorViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connection, connection.VectorLineDrawMode);
viewModel.Items.Add(connectionVM);
}
@@ -445,7 +445,7 @@ namespace AIStudio.Wpf.ADiagram.ViewModels
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
ConnectorViewModel connectionVM = new ConnectorViewModel(DiagramViewModel, sourceConnectorInfo, sinkConnectorInfo, connection);
ConnectorViewModel connectionVM = new ConnectorViewModel(DiagramViewModel, sourceConnectorInfo, sinkConnectorInfo, connection, connection.VectorLineDrawMode);
items.Add(connectionVM);
}
@@ -989,7 +989,7 @@ namespace AIStudio.Wpf.ADiagram.ViewModels
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
ConnectorViewModel connectionVM = new ConnectorViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connection);
ConnectorViewModel connectionVM = new ConnectorViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connection, connection.VectorLineDrawMode);
viewModel.Items.Add(connectionVM);
}

View File

@@ -17,20 +17,15 @@ namespace AIStudio.Wpf.Flowchart
{
public FlowchartViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine;
}
public FlowchartViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
{
if (DiagramViewModel != null)
{
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectorViewModel>().ToList(), DiagramViewModel);
}
}
protected override void OpenFile(DiagramDocument diagramDocument)
{
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine;
base.OpenFile(diagramDocument);
}
protected override void InitDiagramViewModel()
@@ -41,6 +36,7 @@ namespace AIStudio.Wpf.Flowchart
DiagramViewModel.GridCellSize = new Size(100, 100);
DiagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine;
}
protected override void Init()
@@ -74,36 +70,36 @@ namespace AIStudio.Wpf.Flowchart
DesignerItemViewModelBase end = new EndFlowNode() { Left = 100, Top = 700, Color = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(end);
ConnectorViewModel connector1 = new ConnectorViewModel(start.BottomConnector, middle1.TopConnector);
ConnectorViewModel connector1 = new ConnectorViewModel(start.BottomConnector, middle1.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
ConnectorViewModel connector2 = new ConnectorViewModel(middle1.BottomConnector, decide.TopConnector);
ConnectorViewModel connector2 = new ConnectorViewModel(middle1.BottomConnector, decide.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
ConnectorViewModel connector3 = new ConnectorViewModel(decide.RightConnector, middle2.TopConnector);
ConnectorViewModel connector3 = new ConnectorViewModel(decide.RightConnector, middle2.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
connector3.AddText(">=3");
ConnectorViewModel connector4 = new ConnectorViewModel(middle2.BottomConnector, cobegin.TopConnector);
ConnectorViewModel connector4 = new ConnectorViewModel(middle2.BottomConnector, cobegin.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
ConnectorViewModel connector5 = new ConnectorViewModel(decide.BottomConnector, cobegin.TopConnector);
ConnectorViewModel connector5 = new ConnectorViewModel(decide.BottomConnector, cobegin.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
connector5.AddText("<3");
ConnectorViewModel connector6 = new ConnectorViewModel(cobegin.BottomConnector, middle3.TopConnector);
ConnectorViewModel connector6 = new ConnectorViewModel(cobegin.BottomConnector, middle3.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
ConnectorViewModel connector7 = new ConnectorViewModel(cobegin.BottomConnector, middle4.TopConnector);
ConnectorViewModel connector7 = new ConnectorViewModel(cobegin.BottomConnector, middle4.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
ConnectorViewModel connector8 = new ConnectorViewModel(middle3.BottomConnector, coend.TopConnector);
ConnectorViewModel connector8 = new ConnectorViewModel(middle3.BottomConnector, coend.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
ConnectorViewModel connector9 = new ConnectorViewModel(middle4.BottomConnector, coend.TopConnector);
ConnectorViewModel connector9 = new ConnectorViewModel(middle4.BottomConnector, coend.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector9);
ConnectorViewModel connector10 = new ConnectorViewModel(coend.BottomConnector, end.TopConnector);
ConnectorViewModel connector10 = new ConnectorViewModel(coend.BottomConnector, end.TopConnector, _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
DiagramViewModel.ClearSelectedItems();

View File

@@ -13,17 +13,11 @@ namespace AIStudio.Wpf.Logical
{
public LogicalViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.CornerConnectingLine;
}
public LogicalViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
}
protected override void OpenFile(DiagramDocument diagramDocument)
{
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.CornerConnectingLine;
base.OpenFile(diagramDocument);
}
protected override void InitDiagramViewModel()
@@ -37,6 +31,7 @@ namespace AIStudio.Wpf.Logical
DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.None;
DiagramViewModel.Items.CollectionChanged += Items_CollectionChanged;
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.CornerConnectingLine;
}
protected override void Init()
@@ -79,28 +74,28 @@ namespace AIStudio.Wpf.Logical
out1.LinkPoint = LogicalService.LinkPoint[4];
DiagramViewModel.DirectAddItemCommand.Execute(out1);
ConnectorViewModel connector1 = new ConnectorViewModel(in1.Output[0], item1.Input[0]);
ConnectorViewModel connector1 = new ConnectorViewModel(in1.Output[0], item1.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
ConnectorViewModel connector2 = new ConnectorViewModel(in2.Output[0], item1.Input[1]);
ConnectorViewModel connector2 = new ConnectorViewModel(in2.Output[0], item1.Input[1], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
ConnectorViewModel connector3 = new ConnectorViewModel(item1.Output[0], gTGate.Input[0]);
ConnectorViewModel connector3 = new ConnectorViewModel(item1.Output[0], gTGate.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
ConnectorViewModel connector4 = new ConnectorViewModel(constant.Output[0], gTGate.Input[1]);
ConnectorViewModel connector4 = new ConnectorViewModel(constant.Output[0], gTGate.Input[1], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
ConnectorViewModel connector5 = new ConnectorViewModel(gTGate.Output[0], sELGate.Input[0]);
ConnectorViewModel connector5 = new ConnectorViewModel(gTGate.Output[0], sELGate.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
ConnectorViewModel connector6 = new ConnectorViewModel(in3.Output[0], sELGate.Input[1]);
ConnectorViewModel connector6 = new ConnectorViewModel(in3.Output[0], sELGate.Input[1], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
ConnectorViewModel connector7 = new ConnectorViewModel(in4.Output[0], sELGate.Input[2]);
ConnectorViewModel connector7 = new ConnectorViewModel(in4.Output[0], sELGate.Input[2], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
ConnectorViewModel connector8 = new ConnectorViewModel(sELGate.Output[0], out1.Input[0]);
ConnectorViewModel connector8 = new ConnectorViewModel(sELGate.Output[0], out1.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
}

View File

@@ -20,7 +20,7 @@ namespace AIStudio.Wpf.Flowchart
{
public SFCViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine;
}
public SFCViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
@@ -32,12 +32,7 @@ namespace AIStudio.Wpf.Flowchart
readDataTimer.Interval = 1000;
readDataTimer.AutoReset = false;
readDataTimer.Start();
}
protected override void OpenFile(DiagramDocument diagramDocument)
{
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine;
base.OpenFile(diagramDocument);
}
protected override void InitDiagramViewModel()
@@ -48,6 +43,7 @@ namespace AIStudio.Wpf.Flowchart
DiagramViewModel.GridCellSize = new Size(100, 60);
DiagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
_service.DrawModeViewModel.VectorLineDrawMode = DrawMode.BoundaryConnectingLine;
}
private System.Timers.Timer readDataTimer = new System.Timers.Timer();
@@ -124,79 +120,79 @@ namespace AIStudio.Wpf.Flowchart
SFCCOEndNode coend = new SFCCOEndNode() { Left = 38, Top = 720, Text = "" };
DiagramViewModel.DirectAddItemCommand.Execute(coend);
ConnectorViewModel connector1_1 = new ConnectorViewModel(start.Output[0], condition1_1.Input[0]);
ConnectorViewModel connector1_1 = new ConnectorViewModel(start.Output[0], condition1_1.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1_1);
ConnectorViewModel connector2_1 = new ConnectorViewModel(condition1_1.Output[0], step1.Input[0]);
ConnectorViewModel connector2_1 = new ConnectorViewModel(condition1_1.Output[0], step1.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2_1);
ConnectorViewModel connector1_2 = new ConnectorViewModel(start.Output[0], condition1_2.Input[0]);
ConnectorViewModel connector1_2 = new ConnectorViewModel(start.Output[0], condition1_2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1_2);
ConnectorViewModel connector2_2 = new ConnectorViewModel(condition1_2.Output[0], step1.Input[0]);
ConnectorViewModel connector2_2 = new ConnectorViewModel(condition1_2.Output[0], step1.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2_2);
ConnectorViewModel connector31 = new ConnectorViewModel(step1.Action[0], action11.Input[0]);
ConnectorViewModel connector31 = new ConnectorViewModel(step1.Action[0], action11.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector31);
ConnectorViewModel connector32 = new ConnectorViewModel(step1.Action[0], action12.Input[0]);
ConnectorViewModel connector32 = new ConnectorViewModel(step1.Action[0], action12.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector32);
ConnectorViewModel connector33 = new ConnectorViewModel(step1.Action[0], action13.Input[0]);
ConnectorViewModel connector33 = new ConnectorViewModel(step1.Action[0], action13.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector33);
ConnectorViewModel connector34 = new ConnectorViewModel(step1.Action[0], action14.Input[0]);
ConnectorViewModel connector34 = new ConnectorViewModel(step1.Action[0], action14.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector34);
ConnectorViewModel connector4 = new ConnectorViewModel(step1.Output[0], condition2.Input[0]);
ConnectorViewModel connector4 = new ConnectorViewModel(step1.Output[0], condition2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
ConnectorViewModel connector5 = new ConnectorViewModel(condition2.Output[0], step2.Input[0]);
ConnectorViewModel connector5 = new ConnectorViewModel(condition2.Output[0], step2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
ConnectorViewModel connector6 = new ConnectorViewModel(step2.Action[0], action2.Input[0]);
ConnectorViewModel connector6 = new ConnectorViewModel(step2.Action[0], action2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
ConnectorViewModel connector7 = new ConnectorViewModel(step2.Output[0], condition3.Input[0]);
ConnectorViewModel connector7 = new ConnectorViewModel(step2.Output[0], condition3.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
ConnectorViewModel connector8 = new ConnectorViewModel(condition3.Output[0], step3.Input[0]);
ConnectorViewModel connector8 = new ConnectorViewModel(condition3.Output[0], step3.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
ConnectorViewModel connector9 = new ConnectorViewModel(step3.Action[0], action3.Input[0]);
ConnectorViewModel connector9 = new ConnectorViewModel(step3.Action[0], action3.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector9);
ConnectorViewModel connector10 = new ConnectorViewModel(step3.Output[0], condition4.Input[0]);
ConnectorViewModel connector10 = new ConnectorViewModel(step3.Output[0], condition4.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
ConnectorViewModel connector11 = new ConnectorViewModel(condition4.Output[0], cobegin.Input[0]);
ConnectorViewModel connector11 = new ConnectorViewModel(condition4.Output[0], cobegin.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector11);
ConnectorViewModel connector12 = new ConnectorViewModel(cobegin.Output[0], step4.Input[0]);
ConnectorViewModel connector12 = new ConnectorViewModel(cobegin.Output[0], step4.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector12);
ConnectorViewModel connector13 = new ConnectorViewModel(step4.Action[0], action4.Input[0]);
ConnectorViewModel connector13 = new ConnectorViewModel(step4.Action[0], action4.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector13);
ConnectorViewModel connector14 = new ConnectorViewModel(step4.Output[0], condition5.Input[0]);
ConnectorViewModel connector14 = new ConnectorViewModel(step4.Output[0], condition5.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector14);
ConnectorViewModel connector15 = new ConnectorViewModel(cobegin.Output[1], step5.Input[0]);
ConnectorViewModel connector15 = new ConnectorViewModel(cobegin.Output[1], step5.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector15);
ConnectorViewModel connector16 = new ConnectorViewModel(step5.Action[0], action5.Input[0]);
ConnectorViewModel connector16 = new ConnectorViewModel(step5.Action[0], action5.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector16);
ConnectorViewModel connector17 = new ConnectorViewModel(step5.Output[0], condition6.Input[0]);
ConnectorViewModel connector17 = new ConnectorViewModel(step5.Output[0], condition6.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector17);
ConnectorViewModel connector18 = new ConnectorViewModel(condition5.Output[0], coend.Input[0]);
ConnectorViewModel connector18 = new ConnectorViewModel(condition5.Output[0], coend.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector18);
ConnectorViewModel connector19 = new ConnectorViewModel(condition6.Output[0], coend.Input[1]);
ConnectorViewModel connector19 = new ConnectorViewModel(condition6.Output[0], coend.Input[1], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector19);
ConnectorViewModel connector20 = new ConnectorViewModel(coend.Output[0], start.Input[0]);
ConnectorViewModel connector20 = new ConnectorViewModel(coend.Output[0], start.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector20);
#region
@@ -249,28 +245,28 @@ namespace AIStudio.Wpf.Flowchart
Simulate_TankViewModel tank3 = new Simulate_TankViewModel() { Left = 500, Top = 103, ItemWidth = 48, ItemHeight = 60, Text = "T3", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T3") };
DiagramViewModel.DirectAddItemCommand.Execute(tank3);
ConnectorViewModel conn1 = new ConnectorViewModel(tank1.Output[0], k1.Input[0]);
ConnectorViewModel conn1 = new ConnectorViewModel(tank1.Output[0], k1.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn1);
ConnectorViewModel conn2 = new ConnectorViewModel(tank1.Output[0], k2.Input[0]);
ConnectorViewModel conn2 = new ConnectorViewModel(tank1.Output[0], k2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn2);
ConnectorViewModel conn3 = new ConnectorViewModel(tank1.Output[0], k3.Input[0]);
ConnectorViewModel conn3 = new ConnectorViewModel(tank1.Output[0], k3.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn3);
ConnectorViewModel conn4 = new ConnectorViewModel(k1.Output[0], tank2.Input[0]);
ConnectorViewModel conn4 = new ConnectorViewModel(k1.Output[0], tank2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn4);
ConnectorViewModel conn5 = new ConnectorViewModel(k2.Output[0], tank2.Input[0]);
ConnectorViewModel conn5 = new ConnectorViewModel(k2.Output[0], tank2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn5);
ConnectorViewModel conn6 = new ConnectorViewModel(k3.Output[0], tank2.Input[0]);
ConnectorViewModel conn6 = new ConnectorViewModel(k3.Output[0], tank2.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn6);
ConnectorViewModel conn7 = new ConnectorViewModel(tank2.Output[1], k4.Input[0]);
ConnectorViewModel conn7 = new ConnectorViewModel(tank2.Output[1], k4.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn7);
ConnectorViewModel conn8 = new ConnectorViewModel(k4.Output[0], tank3.Input[0]);
ConnectorViewModel conn8 = new ConnectorViewModel(k4.Output[0], tank3.Input[0], _service.DrawModeViewModel.VectorLineDrawMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn8);
#endregion

View File

@@ -1477,12 +1477,192 @@
<Fluent:SplitButton.LargeIcon>
<iconPacks:PackIconMaterial Kind="Grid" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:SplitButton.LargeIcon>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="5" Text="宽度" VerticalAlignment="Center"/>
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.GridCellWidth,Mode=TwoWay}" Minimum="0" Format="0" />
<TextBlock Margin="5" Text="高度" VerticalAlignment="Center"/>
<Fluent:Spinner Margin="5" Width="60" Size="Small" Value="{Binding DiagramsViewModel.DiagramViewModel.GridCellHeight,Mode=TwoWay}" Minimum="0" Format="0" />
</StackPanel>
<Fluent:SplitButton.ToolTip>
<Fluent:ScreenTip Title="ShowGrid"
Text="显示格"
Text="显示格"
Width="190" />
</Fluent:SplitButton.ToolTip>
</Fluent:SplitButton>
<Fluent:SplitButton Header="横对齐" Width="50" VerticalAlignment="Top">
<UniformGrid Rows="4">
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment,Converter={converter:ConverterValueMapToBool Parameter='Left'}, ConverterParameter='Left'}" ToolTip="左对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignLeft" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment,Converter={converter:ConverterValueMapToBool Parameter='Center'}, ConverterParameter='Center'}" ToolTip="居中对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignCenter" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment,Converter={converter:ConverterValueMapToBool Parameter='Right'}, ConverterParameter='Right'}" ToolTip="右对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignRight" VerticalAlignment="Center" HorizontalAlignment="Right"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment,Converter={converter:ConverterValueMapToBool Parameter='None'}, ConverterParameter='None'}" ToolTip="无对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<TextBlock Text="无" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
</UniformGrid>
<Fluent:SplitButton.ToolTip>
<Fluent:ScreenTip Title="ShowGrid"
Text="横向对齐到网格方式"
Width="190" />
</Fluent:SplitButton.ToolTip>
<Fluent:SplitButton.Style>
<Style TargetType="{x:Type Fluent:SplitButton}" BasedOn="{StaticResource RibbonSplitButtonStyle}">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignLeft" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</Border>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment}" Value="Left">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignLeft" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment}" Value="Center">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignCenter" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment}" Value="Right">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignRight" VerticalAlignment="Center" HorizontalAlignment="Right"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellHorizontalAlignment}" Value="None">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<TextBlock Text="无" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Fluent:SplitButton.Style>
</Fluent:SplitButton>
<Fluent:SplitButton Header="竖对齐" Width="50" VerticalAlignment="Top">
<UniformGrid Columns="4">
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment,Converter={converter:ConverterValueMapToBool Parameter='Top'}, ConverterParameter='Top'}" ToolTip="上对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignLeft" RotationAngle="90" VerticalAlignment="Top" HorizontalAlignment="Center"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment,Converter={converter:ConverterValueMapToBool Parameter='Center'}, ConverterParameter='Center'}" ToolTip="居中对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignCenter" RotationAngle="90" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment,Converter={converter:ConverterValueMapToBool Parameter='Bottom'}, ConverterParameter='Bottom'}" ToolTip="下对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignRight" RotationAngle="90" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
<Fluent:ToggleButton Height="48" Width="48" SizeDefinition="Large" IsChecked="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment,Converter={converter:ConverterValueMapToBool Parameter='None'}, ConverterParameter='None'}" ToolTip="无对齐">
<Fluent:ToggleButton.LargeIcon>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<TextBlock Text="无" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Fluent:ToggleButton.LargeIcon>
</Fluent:ToggleButton>
</UniformGrid>
<Fluent:SplitButton.Style>
<Style TargetType="{x:Type Fluent:SplitButton}" BasedOn="{StaticResource RibbonSplitButtonStyle}">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignLeft" RotationAngle="90" VerticalAlignment="Top" HorizontalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment}" Value="Top">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignLeft" RotationAngle="90" VerticalAlignment="Top" HorizontalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment}" Value="Center">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignCenter" RotationAngle="90" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment}" Value="Bottom">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<iconPacks:PackIconMaterial Foreground="Gray" Kind="FormatAlignRight" RotationAngle="90" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DiagramsViewModel.DiagramViewModel.CellVerticalAlignment}" Value="None">
<Setter Property="LargeIcon">
<Setter.Value>
<Border BorderThickness="1" BorderBrush="Gray" Margin="6,6,6,6">
<TextBlock Text="无" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Fluent:SplitButton.Style>
<Fluent:SplitButton.ToolTip>
<Fluent:ScreenTip Title="ShowGrid"
Text="竖向对齐到网格方式"
Width="190" />
</Fluent:SplitButton.ToolTip>
</Fluent:SplitButton>
</Fluent:RibbonGroupBox>
<Fluent:RibbonGroupBox Header="背景"
IsLauncherVisible="True" >