修改内部使用方法,不需要使用页面绑定的命令

This commit is contained in:
艾竹
2023-03-25 22:29:02 +08:00
parent 5e5da021ab
commit 90e94a7ec0
44 changed files with 337 additions and 435 deletions

View File

@@ -44,65 +44,63 @@ namespace AIStudio.Wpf.Flowchart
base.Init();
DesignerItemViewModelBase start = new StartFlowNode() { Left = 100, Top = 0, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(start);
DiagramViewModel.Add(start);
DesignerItemViewModelBase middle1 = new MiddleFlowNode() { Left = 100, Top = 100, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "主管审批", UserIds= new List<string> { "操作员1", "操作员2" }, ActType = "or" };
DiagramViewModel.DirectAddItemCommand.Execute(middle1);
DiagramViewModel.Add(middle1);
DesignerItemViewModelBase decide = new DecideFlowNode() { Left = 100, Top = 200, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "5" };
DiagramViewModel.DirectAddItemCommand.Execute(decide);
DiagramViewModel.Add(decide);
DesignerItemViewModelBase middle2 = new MiddleFlowNode() { Left = 200, Top = 300, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "分管领导", UserIds = new List<string> { "操作员1", "操作员2" }, ActType = "and", DoubleApprove = true };
DiagramViewModel.DirectAddItemCommand.Execute(middle2);
DiagramViewModel.Add(middle2);
DesignerItemViewModelBase cobegin = new COBeginFlowNode() { Left = 100, Top = 400, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(cobegin);
DiagramViewModel.Add(cobegin);
DesignerItemViewModelBase middle3 = new MiddleFlowNode() { Left = 100, Top = 500, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "财务审批", UserIds = new List<string> { "Admin" }, ActType = "or", DoubleApprove = true };
DiagramViewModel.DirectAddItemCommand.Execute(middle3);
DiagramViewModel.Add(middle3);
DesignerItemViewModelBase middle4 = new MiddleFlowNode() { Left = 200, Top = 500, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "人力审批", RoleIds = new List<string> { "操作员", "管理员" }, ActType = "or", DoubleApprove = true };
DiagramViewModel.DirectAddItemCommand.Execute(middle4);
DiagramViewModel.Add(middle4);
DesignerItemViewModelBase coend = new COEndFlowNode() { Left = 100, Top = 600, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(coend);
DiagramViewModel.Add(coend);
DesignerItemViewModelBase end = new EndFlowNode() { Left = 100, Top = 700, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(end);
DiagramViewModel.Add(end);
ConnectionViewModel connector1 = new ConnectionViewModel(start.BottomConnector, middle1.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(middle1.BottomConnector, decide.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
ConnectionViewModel connector3 = new ConnectionViewModel(decide.RightConnector, middle2.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
DiagramViewModel.Add(connector3);
connector3.AddLabel(">=3");
ConnectionViewModel connector4 = new ConnectionViewModel(middle2.BottomConnector, cobegin.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
DiagramViewModel.Add(connector4);
ConnectionViewModel connector5 = new ConnectionViewModel(decide.BottomConnector, cobegin.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
DiagramViewModel.Add(connector5);
connector5.AddLabel("<3");
ConnectionViewModel connector6 = new ConnectionViewModel(cobegin.BottomConnector, middle3.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
DiagramViewModel.Add(connector6);
ConnectionViewModel connector7 = new ConnectionViewModel(cobegin.BottomConnector, middle4.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
DiagramViewModel.Add(connector7);
ConnectionViewModel connector8 = new ConnectionViewModel(middle3.BottomConnector, coend.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
DiagramViewModel.Add(connector8);
ConnectionViewModel connector9 = new ConnectionViewModel(middle4.BottomConnector, coend.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector9);
DiagramViewModel.Add(connector9);
ConnectionViewModel connector10 = new ConnectionViewModel(coend.BottomConnector, end.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector10);
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
}

View File

@@ -40,81 +40,79 @@ namespace AIStudio.Wpf.Logical
TimerDesignerItemViewModel timer = new TimerDesignerItemViewModel() { Left = 28, Top = 28 };
timer.Value = 1;
DiagramViewModel.DirectAddItemCommand.Execute(timer);
DiagramViewModel.Add(timer);
InputItemViewModel in1 = new InputItemViewModel() { Left = 28, Top = 110 };
in1.LinkPoint = LogicalService.LinkPoint[0];
DiagramViewModel.DirectAddItemCommand.Execute(in1);
DiagramViewModel.Add(in1);
InputItemViewModel in2 = new InputItemViewModel() { Left = 28, Top = 300 };
in2.LinkPoint = LogicalService.LinkPoint[1];
DiagramViewModel.DirectAddItemCommand.Execute(in2);
DiagramViewModel.Add(in2);
AddGateItemViewModel item1 = new AddGateItemViewModel() { Left = 178, Top = 160 };
DiagramViewModel.DirectAddItemCommand.Execute(item1);
DiagramViewModel.Add(item1);
ConstantDesignerItemViewModel constant = new ConstantDesignerItemViewModel() { Left = 178, Top = 300, Value = 10 };
DiagramViewModel.DirectAddItemCommand.Execute(constant);
DiagramViewModel.Add(constant);
GTGateItemViewModel gTGate = new GTGateItemViewModel() { Left = 328, Top = 110 };
DiagramViewModel.DirectAddItemCommand.Execute(gTGate);
DiagramViewModel.Add(gTGate);
InputItemViewModel in3 = new InputItemViewModel() { Left = 328, Top = 210 };
in3.LinkPoint = LogicalService.LinkPoint[2];
DiagramViewModel.DirectAddItemCommand.Execute(in3);
DiagramViewModel.Add(in3);
InputItemViewModel in4 = new InputItemViewModel() { Left = 328, Top = 300 };
in4.LinkPoint = LogicalService.LinkPoint[3];
DiagramViewModel.DirectAddItemCommand.Execute(in4);
DiagramViewModel.Add(in4);
SELGateItemViewModel sELGate = new SELGateItemViewModel() { Left = 478, Top = 160 };
DiagramViewModel.DirectAddItemCommand.Execute(sELGate);
DiagramViewModel.Add(sELGate);
OutputItemViewModel out1 = new OutputItemViewModel() { Left = 628, Top = 110 };
out1.LinkPoint = LogicalService.LinkPoint[4];
DiagramViewModel.DirectAddItemCommand.Execute(out1);
DiagramViewModel.Add(out1);
ConnectionViewModel connector1 = new ConnectionViewModel(in1.Output[0], item1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector1.ColorViewModel.FillColor.Color = Colors.Green;
connector1.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(in2.Output[0], item1.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector2.ColorViewModel.FillColor.Color = Colors.Green;
connector2.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
ConnectionViewModel connector3 = new ConnectionViewModel(item1.Output[0], gTGate.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector3.ColorViewModel.FillColor.Color = Colors.Green;
connector3.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
DiagramViewModel.Add(connector3);
ConnectionViewModel connector4 = new ConnectionViewModel(constant.Output[0], gTGate.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector4.ColorViewModel.FillColor.Color = Colors.Green;
connector4.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
DiagramViewModel.Add(connector4);
ConnectionViewModel connector5 = new ConnectionViewModel(gTGate.Output[0], sELGate.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector5.ColorViewModel.FillColor.Color = Colors.Green;
connector5.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
DiagramViewModel.Add(connector5);
ConnectionViewModel connector6 = new ConnectionViewModel(in3.Output[0], sELGate.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector6.ColorViewModel.FillColor.Color = Colors.Green;
connector6.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
DiagramViewModel.Add(connector6);
ConnectionViewModel connector7 = new ConnectionViewModel(in4.Output[0], sELGate.Input[2], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector7.ColorViewModel.FillColor.Color = Colors.Green;
connector7.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
DiagramViewModel.Add(connector7);
ConnectionViewModel connector8 = new ConnectionViewModel(sELGate.Output[0], out1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector8.ColorViewModel.FillColor.Color = Colors.Green;
connector8.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector8);
}
private void Items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)

View File

@@ -120,7 +120,6 @@ namespace AIStudio.Wpf.Flowchart
MindNode level2node1_3 = new MindNode(DiagramViewModel) { Text = "分支主题3" };
MindDiagramViewModel.AddChildCommand.Execute(new MindNode[] { level1node, level2node1_3 });
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
level1node.LayoutUpdated();
}

View File

@@ -524,7 +524,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddImageExecuted(object para)
{
ImageItemViewModel itemBase = new ImageItemViewModel();
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddItemCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
@@ -561,7 +561,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddVideoExecuted(object para)
{
VideoItemViewModel itemBase = new VideoItemViewModel();
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddItemCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
@@ -571,7 +571,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddOutLineTextExecuted(object para)
{
OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel();
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddItemCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
@@ -581,7 +581,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddBarcodeExecuted(object para)
{
BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text="AIStudio.Wpf.DiagramApp" };
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddItemCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;

View File

@@ -52,148 +52,148 @@ namespace AIStudio.Wpf.Flowchart
base.Init();
SFCStartNode start = new SFCStartNode() { Left = 0, Top = 60, Text = "S0" };
DiagramViewModel.DirectAddItemCommand.Execute(start);
DiagramViewModel.Add(start);
SFCConditionNode condition1_1 = new SFCConditionNode() { Left = 0, Top = 120, Text = "X01", Expression = "p0==1&p1<20", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition1_1);
DiagramViewModel.Add(condition1_1);
SFCConditionNode condition1_2 = new SFCConditionNode() { Left = 100, Top = 120, Text = "X02", Expression = "p0==1&p1<30", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition1_2);
DiagramViewModel.Add(condition1_2);
SFCNodeNode step1 = new SFCNodeNode() { Left = 0, Top = 180, Text = "S1" };
DiagramViewModel.DirectAddItemCommand.Execute(step1);
DiagramViewModel.Add(step1);
SFCActionNode action11 = new SFCActionNode() { Left = 100, Top = 180, Text = "SET_V1", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action11);
DiagramViewModel.Add(action11);
SFCActionNode action12 = new SFCActionNode() { Left = 200, Top = 180, Text = "SET_V2", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action12);
DiagramViewModel.Add(action12);
SFCActionNode action13 = new SFCActionNode() { Left = 300, Top = 180, Text = "SET_V3", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action13);
DiagramViewModel.Add(action13);
SFCActionNode action14 = new SFCActionNode() { Left = 400, Top = 180, Text = "RES_V4", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action14);
DiagramViewModel.Add(action14);
SFCConditionNode condition2 = new SFCConditionNode() { Left = 0, Top = 240, Text = "X1", Expression = "p0>50", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition2);
DiagramViewModel.Add(condition2);
SFCNodeNode step2 = new SFCNodeNode() { Left = 0, Top = 300, Text = "S2" };
DiagramViewModel.DirectAddItemCommand.Execute(step2);
DiagramViewModel.Add(step2);
SFCActionNode action2 = new SFCActionNode() { Left = 100, Top = 300, Text = "SET_V4", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action2);
DiagramViewModel.Add(action2);
SFCConditionNode condition3 = new SFCConditionNode() { Left = 0, Top = 360, Text = "X2", Expression = "p0>70", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition3);
DiagramViewModel.Add(condition3);
SFCNodeNode step3 = new SFCNodeNode() { Left = 0, Top = 420, Text = "S3" };
DiagramViewModel.DirectAddItemCommand.Execute(step3);
DiagramViewModel.Add(step3);
SFCActionNode action3 = new SFCActionNode() { Left = 100, Top = 420, Text = "RES_V1", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action3);
DiagramViewModel.Add(action3);
SFCConditionNode condition4 = new SFCConditionNode() { Left = 0, Top = 480, Text = "X3", Expression = "p0>80", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition4);
DiagramViewModel.Add(condition4);
SFCCOBeginNode cobegin = new SFCCOBeginNode() { Left = 38, Top = 540, Text = "" };
DiagramViewModel.DirectAddItemCommand.Execute(cobegin);
DiagramViewModel.Add(cobegin);
SFCNodeNode step4 = new SFCNodeNode() { Left = 0, Top = 600, Text = "S4" };
DiagramViewModel.DirectAddItemCommand.Execute(step4);
DiagramViewModel.Add(step4);
SFCActionNode action4 = new SFCActionNode() { Left = 100, Top = 600, Text = "RES_V2", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action4);
DiagramViewModel.Add(action4);
SFCConditionNode condition5 = new SFCConditionNode() { Left = 0, Top = 660, Text = "X4", Expression = "p0==0", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DO") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition5);
DiagramViewModel.Add(condition5);
SFCNodeNode step5 = new SFCNodeNode() { Left = 200, Top = 600, Text = "S5" };
DiagramViewModel.DirectAddItemCommand.Execute(step5);
DiagramViewModel.Add(step5);
SFCActionNode action5 = new SFCActionNode() { Left = 300, Top = 600, Text = "RES_V3", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action5);
DiagramViewModel.Add(action5);
SFCConditionNode condition6 = new SFCConditionNode() { Left = 200, Top = 660, Text = "X5", Expression = "p0==0", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DO") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition6);
DiagramViewModel.Add(condition6);
SFCCOEndNode coend = new SFCCOEndNode() { Left = 38, Top = 720, Text = "" };
DiagramViewModel.DirectAddItemCommand.Execute(coend);
DiagramViewModel.Add(coend);
ConnectionViewModel connector1_1 = new ConnectionViewModel(start.Output[0], condition1_1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1_1);
DiagramViewModel.Add(connector1_1);
ConnectionViewModel connector2_1 = new ConnectionViewModel(condition1_1.Output[0], step1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2_1);
DiagramViewModel.Add(connector2_1);
ConnectionViewModel connector1_2 = new ConnectionViewModel(start.Output[0], condition1_2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1_2);
DiagramViewModel.Add(connector1_2);
ConnectionViewModel connector2_2 = new ConnectionViewModel(condition1_2.Output[0], step1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2_2);
DiagramViewModel.Add(connector2_2);
ConnectionViewModel connector31 = new ConnectionViewModel(step1.Action[0], action11.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector31);
DiagramViewModel.Add(connector31);
ConnectionViewModel connector32 = new ConnectionViewModel(step1.Action[0], action12.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector32);
DiagramViewModel.Add(connector32);
ConnectionViewModel connector33 = new ConnectionViewModel(step1.Action[0], action13.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector33);
DiagramViewModel.Add(connector33);
ConnectionViewModel connector34 = new ConnectionViewModel(step1.Action[0], action14.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector34);
DiagramViewModel.Add(connector34);
ConnectionViewModel connector4 = new ConnectionViewModel(step1.Output[0], condition2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
DiagramViewModel.Add(connector4);
ConnectionViewModel connector5 = new ConnectionViewModel(condition2.Output[0], step2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
DiagramViewModel.Add(connector5);
ConnectionViewModel connector6 = new ConnectionViewModel(step2.Action[0], action2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
DiagramViewModel.Add(connector6);
ConnectionViewModel connector7 = new ConnectionViewModel(step2.Output[0], condition3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
DiagramViewModel.Add(connector7);
ConnectionViewModel connector8 = new ConnectionViewModel(condition3.Output[0], step3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
DiagramViewModel.Add(connector8);
ConnectionViewModel connector9 = new ConnectionViewModel(step3.Action[0], action3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector9);
DiagramViewModel.Add(connector9);
ConnectionViewModel connector10 = new ConnectionViewModel(step3.Output[0], condition4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
DiagramViewModel.Add(connector10);
ConnectionViewModel connector11 = new ConnectionViewModel(condition4.Output[0], cobegin.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector11);
DiagramViewModel.Add(connector11);
ConnectionViewModel connector12 = new ConnectionViewModel(cobegin.Output[0], step4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector12);
DiagramViewModel.Add(connector12);
ConnectionViewModel connector13 = new ConnectionViewModel(step4.Action[0], action4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector13);
DiagramViewModel.Add(connector13);
ConnectionViewModel connector14 = new ConnectionViewModel(step4.Output[0], condition5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector14);
DiagramViewModel.Add(connector14);
ConnectionViewModel connector15 = new ConnectionViewModel(cobegin.Output[1], step5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector15);
DiagramViewModel.Add(connector15);
ConnectionViewModel connector16 = new ConnectionViewModel(step5.Action[0], action5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector16);
DiagramViewModel.Add(connector16);
ConnectionViewModel connector17 = new ConnectionViewModel(step5.Output[0], condition6.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector17);
DiagramViewModel.Add(connector17);
ConnectionViewModel connector18 = new ConnectionViewModel(condition5.Output[0], coend.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector18);
DiagramViewModel.Add(connector18);
ConnectionViewModel connector19 = new ConnectionViewModel(condition6.Output[0], coend.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector19);
DiagramViewModel.Add(connector19);
ConnectionViewModel connector20 = new ConnectionViewModel(coend.Output[0], start.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector20);
DiagramViewModel.Add(connector20);
#region
TextDesignerItemViewModel despcription = new TextDesignerItemViewModel()
@@ -211,67 +211,65 @@ namespace AIStudio.Wpf.Flowchart
};
despcription.FontViewModel.HorizontalAlignment = HorizontalAlignment.Left;
despcription.FontViewModel.VerticalAlignment = VerticalAlignment.Top;
DiagramViewModel.DirectAddItemCommand.Execute(despcription);
DiagramViewModel.Add(despcription);
Simulate_ListViewModel list = new Simulate_ListViewModel()
{
Left = 410,
Top = 390,
};
DiagramViewModel.DirectAddItemCommand.Execute(list);
DiagramViewModel.Add(list);
Simulate_StartViewModel btnstart = new Simulate_StartViewModel() { Left = 0, Top = 0, LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), };
DiagramViewModel.DirectAddItemCommand.Execute(btnstart);
DiagramViewModel.Add(btnstart);
Simulate_TankViewModel tank1 = new Simulate_TankViewModel() { Left = 100, Top = 43, ItemWidth = 48, ItemHeight = 60, Text = "T1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T1") };
DiagramViewModel.DirectAddItemCommand.Execute(tank1);
DiagramViewModel.Add(tank1);
Simulate_SolenoidViewModel k1 = new Simulate_SolenoidViewModel() { Left = 200, Top = 0, Text = "K1", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k1);
DiagramViewModel.Add(k1);
Simulate_SolenoidViewModel k2 = new Simulate_SolenoidViewModel() { Left = 200, Top = 60, Text = "K2", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k2);
DiagramViewModel.Add(k2);
Simulate_SolenoidViewModel k3 = new Simulate_SolenoidViewModel() { Left = 200, Top = 120, Text = "K3", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k3);
DiagramViewModel.Add(k3);
Simulate_TankViewModel tank2 = new Simulate_TankViewModel() { Left = 300, Top = 28, Text = "T2", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") };
DiagramViewModel.DirectAddItemCommand.Execute(tank2);
DiagramViewModel.Add(tank2);
Simulate_SolenoidViewModel k4 = new Simulate_SolenoidViewModel() { Left = 400, Top = 60, Text = "K4", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k4);
DiagramViewModel.Add(k4);
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);
DiagramViewModel.Add(tank3);
ConnectionViewModel conn1 = new ConnectionViewModel(tank1.Output[0], k1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn1);
DiagramViewModel.Add(conn1);
ConnectionViewModel conn2 = new ConnectionViewModel(tank1.Output[0], k2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn2);
DiagramViewModel.Add(conn2);
ConnectionViewModel conn3 = new ConnectionViewModel(tank1.Output[0], k3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn3);
DiagramViewModel.Add(conn3);
ConnectionViewModel conn4 = new ConnectionViewModel(k1.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn4);
DiagramViewModel.Add(conn4);
ConnectionViewModel conn5 = new ConnectionViewModel(k2.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn5);
DiagramViewModel.Add(conn5);
ConnectionViewModel conn6 = new ConnectionViewModel(k3.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn6);
DiagramViewModel.Add(conn6);
ConnectionViewModel conn7 = new ConnectionViewModel(tank2.Output[1], k4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn7);
DiagramViewModel.Add(conn7);
ConnectionViewModel conn8 = new ConnectionViewModel(k4.Output[0], tank3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn8);
DiagramViewModel.Add(conn8);
#endregion
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
SFCService.InitData(DiagramViewModel.Items.OfType<SFCNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
readDataTimer.Elapsed += timeCycle;

View File

@@ -20,23 +20,21 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
ReconnectLinksCommand = new SimpleCommand(ReconnectLinks);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
public SimpleCommand ReconnectLinksCommand

View File

@@ -19,25 +19,23 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector1.ColorViewModel.LineDashStyle = LineDashStyle.Dash1;
connector1.ColorViewModel.LineAnimation = LineAnimation.DashAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
connector2.ColorViewModel.LineDashStyle = LineDashStyle.Dash1;
connector2.ColorViewModel.LineAnimation = LineAnimation.DashAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -20,25 +20,23 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector1.ColorViewModel.FillColor.Color = Colors.Red;
connector1.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
connector2.ColorViewModel.FillColor.Color = Colors.Red;
connector2.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -19,23 +19,21 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
DiagramViewModel.GroupCommand.Execute(new List<DesignerItemViewModelBase> { node1, node2 });
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
}
}

View File

@@ -20,13 +20,13 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector1.ColorViewModel.LineWidth = 6;
@@ -34,14 +34,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
connector1.ColorViewModel.LineColor.GradientStop = new ObservableCollection<GradientStop>();
connector1.ColorViewModel.LineColor.GradientStop.Add(new GradientStop(System.Windows.Media.Colors.Red, 0));
connector1.ColorViewModel.LineColor.GradientStop.Add(new GradientStop(System.Windows.Media.Colors.Gray, 1));
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
connector2.ColorViewModel.LineWidth = 6;
connector2.ColorViewModel.LineColor.Color = System.Windows.Media.Colors.Blue;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -20,21 +20,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.TopConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.BottomConnector, node3.BottomConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -19,21 +19,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -22,21 +22,20 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Event += DiagramViewModel_Event;
}

View File

@@ -20,26 +20,24 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels.Groups
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
//Custom 需要设置为True表示外面自定义的Group替换默认的。
CustomDefinedGroupDesignerItemViewModel group = new CustomDefinedGroupDesignerItemViewModel() { Describe = "This is a custom group", Custom = true};
group.FontViewModel.FontColor = System.Windows.Media.Colors.Orange;
DiagramViewModel.GroupCommand.Execute(new List<DesignerItemViewModelBase> { group, node1, node2 });
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
}
}

View File

@@ -21,23 +21,21 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.DiagramOption.ShortcutOption.Group = e => e.KeyboardDevice.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift) && e.Key == Key.K;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
DiagramViewModel.GroupCommand.Execute(new List<DesignerItemViewModelBase> { node1, node2 });
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
}
}

View File

@@ -20,23 +20,21 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
DiagramViewModel.GroupCommand.Execute(new List<DesignerItemViewModelBase> { node1, node2 });
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
}
}

View File

@@ -20,49 +20,47 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 50, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.AddLabel("Content");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 160, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 160, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.AddLabel("0.25", 0.3);
connector1.AddLabel("0.75", 0.7);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 270, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 270, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.AddLabel("50", 50);
connector1.AddLabel("-50", -50);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 380, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 380, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.AddLabel("(0,-20)", 50, new Point(0, -20));
connector1.AddLabel("(0,20)", -50, new Point(0, 20));
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector1);
}
}
}

View File

@@ -19,67 +19,64 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 50, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.ShapeViewModel.SourceMarker = LinkMarker.Arrow;
connector1.ShapeViewModel.SinkMarker = LinkMarker.Arrow;
connector1.AddLabel("Arrow");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 160, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 160, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.ShapeViewModel.SourceMarker = LinkMarker.Circle;
connector1.ShapeViewModel.SinkMarker = LinkMarker.Circle;
connector1.AddLabel("Circle");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 270, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 270, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.ShapeViewModel.SourceMarker = LinkMarker.Square;
connector1.ShapeViewModel.SinkMarker = LinkMarker.Square;
connector1.AddLabel("Square");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 380, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 380, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.ShapeViewModel.SourceMarker = LinkMarker.NewRectangle(10, 20);
connector1.ShapeViewModel.SinkMarker = LinkMarker.NewArrow(20, 10);
connector1.AddLabel("Factory");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 490, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 490, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
connector1.ShapeViewModel.SourceMarker = new LinkMarker("M 0 -8 L 3 -8 3 8 0 8 z M 4 -8 7 -8 7 8 4 8 z M 8 -8 16 0 8 8 z", 16, 16, ArrowPathStyle.Arrow, ArrowSizeStyle.ExtraLarge);
connector1.ShapeViewModel.SinkMarker = new LinkMarker("M 0 -8 L 8 -8 4 0 8 8 0 8 4 0 z", 8, 8, ArrowPathStyle.Arrow, ArrowSizeStyle.Small);
connector1.AddLabel("Custom");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector1);
}
}
}

View File

@@ -22,37 +22,35 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 80, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 100, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 200, Top = 80, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterNormal);
connector1.AddLabel("Straight");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector2.AddLabel("Smooth");
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
DefaultDesignerItemViewModel node4 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 450, Top = 300, Text = "4" };
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.Add(node4);
DefaultDesignerItemViewModel node5 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 550, Top = 80, Text = "5" };
DiagramViewModel.DirectAddItemCommand.Execute(node5);
DiagramViewModel.Add(node5);
ConnectionViewModel connector3 = new ConnectionViewModel(DiagramViewModel, node3.RightConnector, node4.LeftConnector, DrawMode.ConnectingLineBoundary, RouterMode.RouterNormal);
connector3.AddLabel("Boundary");
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
DiagramViewModel.Add(connector3);
ConnectionViewModel connector4 = new ConnectionViewModel(DiagramViewModel, node4.RightConnector, node5.LeftConnector, DrawMode.ConnectingLineCorner, RouterMode.RouterNormal);
connector4.AddLabel("Corner");
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector4);
}
}
}

View File

@@ -20,23 +20,21 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 80, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 350, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 350, Top = 100, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector1.AddLabel("Normal");
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.LeftConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
connector2.AddLabel("Orthogonal");
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -20,15 +20,13 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(node3);
}
}
}

View File

@@ -20,28 +20,25 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 80, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 200, Top = 350, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 400, Top = 100, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterNormal);
connector1.AddLabel("Content");
connector1.AddVertex(new Point(221, 112.5));
connector1.AddVertex(new Point(111, 291));
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector2.AddLabel("Content");
connector2.AddVertex(new Point(400, 324));
connector2.AddVertex(new Point(326, 180));
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -26,29 +26,27 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
//node1.LockObjectViewModel.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All).IsChecked = true;//这个也可以
node1.IsReadOnly = true;
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
//node2.LockObjectViewModel.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All).IsChecked = true;//这个也可以
node2.IsReadOnly = true;
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
//node3.LockObjectViewModel.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All).IsChecked = true;//这个也可以
node3.IsReadOnly = true;
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
//connector1.LockObjectViewModel.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All).IsChecked = true;//这个也可以
connector1.IsReadOnly = true;
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
// connector2.LockObjectViewModel.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All).IsChecked = true;//这个也可以
connector2.IsReadOnly = true;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -20,21 +20,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
CustomDefinedDesignerItemViewModel node2 = new CustomDefinedDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300 };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
CustomDefinedDesignerItemViewModel node3 = new CustomDefinedDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50 };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.TopConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.BottomConnector, node3.BottomConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}

View File

@@ -27,7 +27,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
new GradientStop(Colors.Yellow, 0.5),
new GradientStop(Colors.Blue, 1),
};
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300 };
node2.ColorViewModel.FillColor.BrushType = BrushType.RadialGradientBrush;
@@ -37,19 +37,17 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
new GradientStop(Colors.Yellow, 0.5),
new GradientStop(Colors.Blue, 1),
};
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50 };
node3.ColorViewModel.FillColor.BrushType = BrushType.DrawingBrush;
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -21,27 +21,25 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels.Nodes
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
node1.ShowRotate = true;
node1.Angle = 45;
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
node2.ShowRotate = true;
node2.ScaleX = 1.5;
node2.ScaleY = 1.5;
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
node3.ShowRotate = true;
node3.ScaleX = -1;
node3.ScaleY = -1;
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -22,21 +22,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
PathItemViewModel node2 = new PathItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Icon = "M 0 -50 L 50 -50 L 50 -10 A 1 1 0 0 0 50 10 L 50 50 L 0 50 L 0 10 A 1 1 0 0 0 0 -10 Z" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
PathItemViewModel node3 = new PathItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Icon = "M 0 -50 L 50 -50 L 50 -10 A 1 1 0 0 0 50 10 L 50 50 L 0 50 L 0 10 A 1 1 0 0 0 0 -10 Z" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.TopConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.BottomConnector, node3.BottomConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -25,14 +25,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
var node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 10 + c * 10 + c * 120, Top = 10 + r * 100, Text = $"{r * 10 + c}" };
var node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 10 + (c + 1) * 130, Top = 10 + r * 100, Text = $"{r * 10 + c + 1}" };
DiagramViewModel.DirectAddItemCommand.Execute(new List<SelectableDesignerItemViewModelBase> { node1, node2 });
DiagramViewModel.Add(new List<SelectableDesignerItemViewModelBase> { node1, node2 });
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
}
}
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
}
}

View File

@@ -20,27 +20,25 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
DefaultDesignerItemViewModel node4 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 300, Text = "4" };
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.Add(node4);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.PortlessConnector, node2.PortlessConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.PortlessConnector, node3.TopConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
ConnectionViewModel connector3 = new ConnectionViewModel(DiagramViewModel, node3.LeftConnector, node4.PortlessConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector3);
}
}
}

View File

@@ -27,7 +27,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
node1.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node1, ConnectorOrientation.Bottom, Colors.Red));
node1.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node1, ConnectorOrientation.Left, Colors.Green));
node1.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node1, ConnectorOrientation.Right, Colors.Green));
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
node2.ClearConnectors();
@@ -35,16 +35,15 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
node2.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node2, ConnectorOrientation.Bottom, Colors.Red));
node2.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node2, ConnectorOrientation.Left, Colors.Green));
node2.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node2, ConnectorOrientation.Right, Colors.Green));
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
node3.ClearConnectors();
node3.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node3, ConnectorOrientation.Top, Colors.Red));
node3.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node3, ConnectorOrientation.Bottom, Colors.Red));
node3.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node3, ConnectorOrientation.Left, Colors.Green));
node3.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node3, ConnectorOrientation.Right, Colors.Green)); DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
node3.AddConnector(new ColoredPortConnectorInfo(DiagramViewModel, node3, ConnectorOrientation.Right, Colors.Green));
DiagramViewModel.Add(node3);
}
}

View File

@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
var port1 = new FullyCreatedConnectorInfo(DiagramViewModel, node1, ConnectorOrientation.Right, true) { XRatio = 0.5, YRatio = 0.5 };
node1.AddConnector(port1);
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
node2.ClearConnectors();
@@ -31,21 +31,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
var port2_2 = new FullyCreatedConnectorInfo(DiagramViewModel, node2, ConnectorOrientation.Top, true) { XRatio = 0.8, YRatio = 0.2 };
node2.AddConnector(port2_1);
node2.AddConnector(port2_2);
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
node3.ClearConnectors();
var port3 = new FullyCreatedConnectorInfo(DiagramViewModel, node3, ConnectorOrientation.Bottom, true) { XRatio = 0.5, YRatio = 0.5 };
node3.AddConnector(port3);
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, port1, port2_1, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, port2_2, port3, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -19,21 +19,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -21,21 +21,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -20,24 +20,22 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
TextDesignerItemViewModel node1 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, ItemWidth = 230, Text = "竹外桃花三两枝,春江水暖鸭先知。\r\n蒌蒿满地芦芽短正是河豚欲上时。" };
node1.FontViewModel.HorizontalAlignment = HorizontalAlignment.Left;
node1.FontViewModel.VerticalAlignment = VerticalAlignment.Top;
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
TextDesignerItemViewModel node2 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, ItemWidth = 200, Text = "解落三秋叶,能开二月花。\r\n过江千尺浪入竹万竿斜。" };
node2.FontViewModel.HorizontalAlignment = HorizontalAlignment.Right;
node2.FontViewModel.VerticalAlignment = VerticalAlignment.Top;
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
TextDesignerItemViewModel node3 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 150, ItemWidth = 200, Text = "一节复一节,千枝攒万叶。\r\n我自不开花免撩蜂与蝶。" };
node3.FontViewModel.HorizontalAlignment = HorizontalAlignment.Left;
node3.FontViewModel.VerticalAlignment = VerticalAlignment.Bottom;
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
TextDesignerItemViewModel node4 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 150, ItemWidth = 200, Text = "独坐幽篁里,弹琴复长啸。\r\n深林人不知明月来相照。" };
node4.FontViewModel.HorizontalAlignment = HorizontalAlignment.Right;
node4.FontViewModel.VerticalAlignment = VerticalAlignment.Bottom;
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(node4);
}
}
}

View File

@@ -19,22 +19,20 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels.Texts
TextDesignerItemViewModel node1 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, ItemWidth = 230, Text = "竹外桃花三两枝,春江水暖鸭先知。\r\n蒌蒿满地芦芽短正是河豚欲上时。" };
node1.FontViewModel.FontColor = System.Windows.Media.Colors.Red;
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
TextDesignerItemViewModel node2 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, ItemWidth = 200, Text = "解落三秋叶,能开二月花。\r\n过江千尺浪入竹万竿斜。" };
node2.FontViewModel.TextEffectColor = System.Windows.Media.Colors.Orange;
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
TextDesignerItemViewModel node3 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 150, ItemWidth = 200, ItemHeight=100, Text = "一节复一节,千枝攒万叶。\r\n我自不开花免撩蜂与蝶。\r\n\r\n暂未实现敬请期待" };
node3.FontViewModel.HighlightColor = System.Windows.Media.Colors.Green;
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
TextDesignerItemViewModel node4 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 150, ItemWidth = 200, Text = "独坐幽篁里,弹琴复长啸。\r\n深林人不知明月来相照。" };
node4.FontViewModel.FontColor = System.Windows.Media.Colors.White;
node4.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Blue;
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(node4);
}
}
}

View File

@@ -19,21 +19,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels.Texts
TextDesignerItemViewModel node1 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 30, Top = 50, ItemWidth = 260, Text = "竹外桃花三两枝,春江水暖鸭先知。\r\n蒌蒿满地芦芽短正是河豚欲上时。" };
node1.FontViewModel.FontSize = 15;
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
TextDesignerItemViewModel node2 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, ItemWidth = 200, Text = "解落三秋叶,能开二月花。\r\n过江千尺浪入竹万竿斜。" };
node2.FontViewModel.FontWeight = FontWeights.Bold;
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
TextDesignerItemViewModel node3 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 150, ItemWidth = 200, Text = "一节复一节,千枝攒万叶。\r\n我自不开花免撩蜂与蝶。" };
node3.FontViewModel.FontStretch = FontStretches.Expanded;
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
TextDesignerItemViewModel node4 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 150, ItemWidth = 200, Text = "独坐幽篁里,弹琴复长啸。\r\n深林人不知明月来相照。" };
node4.FontViewModel.FontFamily = "宋体";
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(node4);
}
}
}

View File

@@ -19,18 +19,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels.Texts
DiagramViewModel.ColorViewModel = new ColorViewModel();
OutLineTextDesignerItemViewModel node1 = new OutLineTextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, ItemWidth = 600, ItemHeight = 100, Text = "竹外桃花三两枝,春江水暖鸭先知。\r\n蒌蒿满地芦芽短正是河豚欲上时。" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
OutLineTextDesignerItemViewModel node2 = new OutLineTextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 160, ItemWidth = 500, ItemHeight = 100, Text = "解落三秋叶,能开二月花。\r\n过江千尺浪入竹万竿斜。" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
OutLineTextDesignerItemViewModel node3 = new OutLineTextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 270, ItemWidth = 500, ItemHeight = 100, Text = "一节复一节,千枝攒万叶。\r\n我自不开花免撩蜂与蝶。" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
OutLineTextDesignerItemViewModel node4 = new OutLineTextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 380, ItemWidth = 500, ItemHeight = 100, Text = "独坐幽篁里,弹琴复长啸。\r\n深林人不知明月来相照。" };
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(node4);
}
}
}

View File

@@ -18,18 +18,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels.Texts
DiagramViewModel.ColorViewModel = new ColorViewModel();
TextDesignerItemViewModel node1 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, ItemWidth=230, Text = "竹外桃花三两枝,春江水暖鸭先知。\r\n蒌蒿满地芦芽短正是河豚欲上时。" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
TextDesignerItemViewModel node2 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, ItemWidth = 200, Text = "解落三秋叶,能开二月花。\r\n过江千尺浪入竹万竿斜。" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
TextDesignerItemViewModel node3 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 150, ItemWidth = 200, Text = "一节复一节,千枝攒万叶。\r\n我自不开花免撩蜂与蝶。" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
TextDesignerItemViewModel node4 = new TextDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 150, ItemWidth = 200, Text = "独坐幽篁里,弹琴复长啸。\r\n深林人不知明月来相照。" };
DiagramViewModel.DirectAddItemCommand.Execute(node4);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(node4);
}
}
}

View File

@@ -18,21 +18,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
DiagramViewModel.DefaultZoomBox = true;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DiagramViewModel.Add(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DiagramViewModel.Add(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
DiagramViewModel.Add(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
DiagramViewModel.Add(connector2);
}
}
}

View File

@@ -60,7 +60,7 @@ namespace AIStudio.Wpf.DiagramDesigner
pointList.Add(this.startPoint.Value);
var item = new PointDesignerItemViewModel(startPoint.Value);
item.ShowConnectors = true;
_viewModel.DirectAddItemCommand.Execute(item);
_viewModel.Add(item);
pointDesignerItemViewModelList.Add(item);
}
}
@@ -93,7 +93,7 @@ namespace AIStudio.Wpf.DiagramDesigner
pointList.Add(endPoint.Value);
var item = new PointDesignerItemViewModel(endPoint.Value);
item.ShowConnectors = true;
_viewModel.DirectAddItemCommand.Execute(item);
_viewModel.Add(item);
pointDesignerItemViewModelList.Add(item);
UpdateSelection();
@@ -135,7 +135,7 @@ namespace AIStudio.Wpf.DiagramDesigner
itemBase.PointDesignerItemViewModels.ForEach(p =>
{
p.ParentId = itemBase.Id;
_viewModel.DirectAddItemCommand.Execute(p);
_viewModel.Add(p);
});
}
else if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Text)
@@ -156,14 +156,14 @@ namespace AIStudio.Wpf.DiagramDesigner
itemBase.PointDesignerItemViewModels.ForEach(p =>
{
p.ParentId = itemBase.Id;
_viewModel.DirectAddItemCommand.Execute(p);
_viewModel.Add(p);
});
}
}
this._service.DrawModeViewModel.ResetDrawMode();
}
pointDesignerItemViewModelList.ForEach(p => _viewModel.DirectRemoveItemCommand.Execute(p));
pointDesignerItemViewModelList.ForEach(p => _viewModel.Remove(p));
e.Handled = true;
}

View File

@@ -300,7 +300,7 @@ namespace AIStudio.Wpf.DiagramDesigner
rectangleBounds.Bottom + (rectangleBounds.Height / 2));
partialConnection = new ConnectionViewModel(_viewModel, sourceDataItem, new PartCreatedConnectorInfo(point.X, point.Y), DrawMode, RouterMode);
_viewModel.DirectAddItemCommand.Execute(partialConnection);
_viewModel.Add(partialConnection);
}
}
}
@@ -324,7 +324,7 @@ namespace AIStudio.Wpf.DiagramDesigner
Point point = new Point(rectangleBounds.Left + (rectangleBounds.Width / 2),
rectangleBounds.Bottom + (rectangleBounds.Height / 2));
partialConnection = new ConnectionViewModel(_viewModel, sourceConnectorInfo, new PartCreatedConnectorInfo(point.X, point.Y), DrawMode, RouterMode);
_viewModel.DirectAddItemCommand.Execute(partialConnection);
_viewModel.Add(partialConnection);
}
}
}
@@ -375,7 +375,7 @@ namespace AIStudio.Wpf.DiagramDesigner
if (connectorsHit.Count == 0)
{
LinkPointDesignerItemViewModel pointItemView = new LinkPointDesignerItemViewModel(rubberbandSelectionStartPoint.Value);
_viewModel.DirectAddItemCommand.Execute(pointItemView);
_viewModel.Add(pointItemView);
SourceConnectorInfo = pointItemView.Connectors.FirstOrDefault();
}
}
@@ -472,7 +472,7 @@ namespace AIStudio.Wpf.DiagramDesigner
FullyCreatedConnectorInfo sinkDataItem = sinkConnector.Info;
int indexOfLastTempConnection = sinkDataItem.DataItem.Root.Items.Count - 1;
sinkDataItem.DataItem.Root.DirectRemoveItemCommand.Execute(
sinkDataItem.DataItem.Root.Remove(
sinkDataItem.DataItem.Root.Items[indexOfLastTempConnection]);
sinkDataItem.DataItem.Root.AddItemCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode));
}
@@ -486,8 +486,8 @@ namespace AIStudio.Wpf.DiagramDesigner
FullyCreatedConnectorInfo sinkDataItem = pointItemView.TopConnector;
int indexOfLastTempConnection = _viewModel.Items.Count - 1;
_viewModel.DirectRemoveItemCommand.Execute(_viewModel.Items[indexOfLastTempConnection]);
_viewModel.DirectAddItemCommand.Execute(pointItemView);
_viewModel.Remove(_viewModel.Items[indexOfLastTempConnection]);
_viewModel.Add(pointItemView);
var connector = new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode);
_viewModel.AddItemCommand.Execute(connector);
@@ -499,7 +499,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{
//Need to remove last item as we did not finish drawing the path
int indexOfLastTempConnection = sourceDataItem.DataItem.Root.Items.Count - 1;
sourceDataItem.DataItem.Root.DirectRemoveItemCommand.Execute(
sourceDataItem.DataItem.Root.Remove(
sourceDataItem.DataItem.Root.Items[indexOfLastTempConnection]);

View File

@@ -648,15 +648,6 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private ICommand _directAddItemCommand;
public ICommand DirectAddItemCommand
{
get
{
return this._directAddItemCommand ?? (this._directAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand));
}
}
private ICommand _addItemCommand;
public ICommand AddItemCommand
{
@@ -666,15 +657,6 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private ICommand _directRemoveItemCommand;
public ICommand DirectRemoveItemCommand
{
get
{
return this._directRemoveItemCommand ?? (this._directRemoveItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectRemoveItemCommand));
}
}
private ICommand _removeItemCommand;
public ICommand RemoveItemCommand
{
@@ -1249,28 +1231,7 @@ namespace AIStudio.Wpf.DiagramDesigner
protected virtual void ExecuteCreateNewDiagramCommand(object parameter)
{
this.Items.Clear();
}
private void ExecuteDirectAddItemCommand(object parameter)
{
if (parameter is SelectableDesignerItemViewModelBase ite)
{
if (AddVerify(ite) != true) return;
ClearSelectedItems();
Add(ite);
}
else if (parameter is IEnumerable<SelectableDesignerItemViewModelBase> items)
{
if (items.Select(p => AddVerify(p)).Any() != true) return;
ClearSelectedItems();
foreach (var item in items)
{
Add(item);
}
}
}
}
private void ExecuteAddItemCommand(object parameter)
{
@@ -1316,7 +1277,27 @@ namespace AIStudio.Wpf.DiagramDesigner
return true;
}
private void Add(SelectableDesignerItemViewModelBase item)
//使用程序添加对象比如Demo初始化
public void Add(object parameter)
{
if (parameter is SelectableDesignerItemViewModelBase ite)
{
if (AddVerify(ite) != true) return;
Add(ite, false);
}
else if (parameter is IEnumerable<SelectableDesignerItemViewModelBase> items)
{
if (items.Select(p => AddVerify(p)).Any() != true) return;
foreach (var item in items)
{
Add(item, false);
}
}
}
private void Add(SelectableDesignerItemViewModelBase item, bool isSelected = true)
{
item.Root = this;
item.ZIndex = Items.Any() ? Items.Max(p => p.ZIndex) + 1 : 0;
@@ -1337,10 +1318,10 @@ namespace AIStudio.Wpf.DiagramDesigner
designerItemViewModelBase.SetCellAlignment();
}
Items.Add(item);
item.IsSelected = true;
item.IsSelected = isSelected;
}
private void ExecuteDirectRemoveItemCommand(object parameter)
public void Remove(object parameter)
{
if (parameter is SelectableDesignerItemViewModelBase ite)
{
@@ -1595,7 +1576,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
items.AddRange(connectors);
DirectAddItemCommand.Execute(items);
Add(items);
FixOtherInfo(items);
}
@@ -2490,7 +2471,7 @@ namespace AIStudio.Wpf.DiagramDesigner
groupItem = new GroupDesignerItemViewModel();
}
DirectAddItemCommand.Execute(groupItem);
Add(groupItem);
foreach (DesignerItemViewModelBase item in items)
item.ParentId = groupItem.Id;

View File

@@ -35,10 +35,6 @@ namespace AIStudio.Wpf.DiagramDesigner
{
get;
}
ICommand DirectAddItemCommand
{
get;
}
ICommand AddItemCommand
{
get;
@@ -47,10 +43,6 @@ namespace AIStudio.Wpf.DiagramDesigner
{
get;
}
ICommand DirectRemoveItemCommand
{
get;
}
ICommand ClearSelectedItemsCommand
{
get;
@@ -339,6 +331,10 @@ namespace AIStudio.Wpf.DiagramDesigner
void Init();
void Add(object parameter);
void Remove(object parameter);
bool ExecuteShortcut(KeyEventArgs e);
event PropertyChangedEventHandler PropertyChanged;

View File

@@ -506,7 +506,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
item.InitLayout(true);//因为节点的层级不同的样式所以需要Parent确定后才能初始化
ConnectionViewModel connector = MindLayout?.GetOrSetConnectionViewModel(this, item);
Root?.DirectAddItemCommand.Execute(new SelectableDesignerItemViewModelBase[] { item, connector });
Root?.Add(new SelectableDesignerItemViewModelBase[] { item, connector });
connector.ZIndex = -1;
connector.IsSelected = false;
item.IsSelected = false;
@@ -521,8 +521,8 @@ namespace AIStudio.Wpf.Mind.ViewModels
var connectors = Root?.Items.OfType<ConnectionViewModel>().Where(p => p.SinkConnectorInfoFully?.DataItem == item).ToList();
Root?.DirectRemoveItemCommand.Execute(item);
Root?.DirectRemoveItemCommand.Execute(connectors);
Root?.Remove(item);
Root?.Remove(connectors);
if (removeall)
{
@@ -545,8 +545,8 @@ namespace AIStudio.Wpf.Mind.ViewModels
}
var connectors = Root?.Items.OfType<ConnectionViewModel>().Where(p => p.SinkConnectorInfoFully?.DataItem == this).ToList();
Root?.DirectRemoveItemCommand.Execute(this);
Root?.DirectRemoveItemCommand.Execute(connectors);
Root?.Remove(this);
Root?.Remove(connectors);
if (removeall)
{
@@ -570,7 +570,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
else if (ParentNode != null)
{
connector = MindLayout?.GetOrSetConnectionViewModel(ParentNode, this, null);
Root?.DirectAddItemCommand.Execute(new SelectableDesignerItemViewModelBase[] { connector });
Root?.Add(new SelectableDesignerItemViewModelBase[] { connector });
connector.ZIndex = -1;
connector.IsSelected = false;
}