diff --git a/AIStudio.Wpf.DiagramApp/ViewModels/MindViewModel.cs b/AIStudio.Wpf.DiagramApp/ViewModels/MindViewModel.cs index 9556dfb..a807a87 100644 --- a/AIStudio.Wpf.DiagramApp/ViewModels/MindViewModel.cs +++ b/AIStudio.Wpf.DiagramApp/ViewModels/MindViewModel.cs @@ -55,10 +55,10 @@ namespace AIStudio.Wpf.Flowchart base.Init(); MindNode level1node = new MindNode(DiagramViewModel, Mind.NodeLevel.Level1, MindType) { Text = "思维导图" }; - //level1node.Left = 220; - //level1node.Top = 15; + level1node.Left = 15; + level1node.Top = 200; DiagramViewModel.DirectAddItemCommand.Execute(level1node); - DiagramViewModel.CenterMoveCommand.Execute(level1node); + //DiagramViewModel.CenterMoveCommand.Execute(level1node); MindNode level2node1_1 = new MindNode(DiagramViewModel, Mind.NodeLevel.Level2, MindType) { Text = "分支主题1" }; level1node.AddChild(level2node1_1); diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramViewModel.cs index 9e00235..f9bf3d4 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DiagramViewModel.cs @@ -1,12 +1,9 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; -using System.Data.Common; using System.Linq; using System.Reactive.Linq; -using System.Reflection.Metadata; using System.Windows; using System.Windows.Input; using System.Windows.Media; diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/SelectableViewModelBase.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/SelectableViewModelBase.cs index 112dc36..9a3d507 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/SelectableViewModelBase.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/SelectableViewModelBase.cs @@ -166,11 +166,6 @@ namespace AIStudio.Wpf.DiagramDesigner } } - bool IsEditing - { - get; set; - } - private bool _isEditing = true; public bool IsEditing { diff --git a/AIStudio.Wpf.Mind/Helpers/DirectoryLayout.cs b/AIStudio.Wpf.Mind/Helpers/DirectoryLayout.cs index 6541dd2..1f2a89a 100644 --- a/AIStudio.Wpf.Mind/Helpers/DirectoryLayout.cs +++ b/AIStudio.Wpf.Mind/Helpers/DirectoryLayout.cs @@ -96,7 +96,7 @@ namespace AIStudio.Wpf.Mind.Helpers var size = MeasureOverride(mindNode); ArrangeOverride(mindNode); - mindNode.Root.BringToFrontCommand.Execute(new SelectableDesignerItemViewModelBase[] { mindNode }); + mindNode.Root.BringToFrontCommand.Execute(mindNode.Root.Items.OfType()); mindNode.GetLevel1Node().LayoutUpdating = false; } diff --git a/AIStudio.Wpf.Mind/Helpers/FishBoneLayout.cs b/AIStudio.Wpf.Mind/Helpers/FishBoneLayout.cs index 3852b6b..ffb9650 100644 --- a/AIStudio.Wpf.Mind/Helpers/FishBoneLayout.cs +++ b/AIStudio.Wpf.Mind/Helpers/FishBoneLayout.cs @@ -127,7 +127,7 @@ namespace AIStudio.Wpf.Mind.Helpers var size = MeasureOverride(mindNode); ArrangeOverride(mindNode); - mindNode.Root.BringToFrontCommand.Execute(new SelectableDesignerItemViewModelBase[] { mindNode }); + mindNode.Root.BringToFrontCommand.Execute(mindNode.Root.Items.OfType()); mindNode.GetLevel1Node().LayoutUpdating = false; } @@ -151,7 +151,7 @@ namespace AIStudio.Wpf.Mind.Helpers { var childrensizes = mindNode.Children.Select(p => MeasureOverride(p, mindNode.IsExpanded && isExpanded)).ToArray(); var lastchildsize = childrensizes.LastOrDefault(); - sizewithSpacing = new SizeBase(sizewithSpacing.Width + childrensizes.Sum(p => p.Height) - lastchildsize.Height / 2 + lastchildsize.Width, sizewithSpacing.Height + childrensizes.Sum(p => p.Height)); + sizewithSpacing = new SizeBase(sizewithSpacing.Height + childrensizes.Sum(p => p.Height) - lastchildsize.Height / 2 + lastchildsize.Width, sizewithSpacing.Height + childrensizes.Sum(p => p.Height)); } else if (mindNode.NodeLevel == NodeLevel.Level3 || mindNode.NodeLevel == NodeLevel.Level4) { @@ -200,7 +200,7 @@ namespace AIStudio.Wpf.Mind.Helpers foreach (var child in bottoms) { child.Left = bottomleft + child.Spacing.Width + child.Offset.X; - child.Top = bottomtop + child.ItemHeight + child.Spacing.Height + child.Offset.Y; + child.Top = bottomtop + child.Spacing.Height + child.Offset.Y; child.DesiredPosition = child.Position; bottomleft += child.DesiredSize.Width; @@ -217,11 +217,10 @@ namespace AIStudio.Wpf.Mind.Helpers { if (mindNode.ConnectorOrientation == ConnectorOrientation.BottomLeft) { - double left = mindNode.Left - mindNode.Spacing.Width + mindNode.DesiredSize.Height; + double left = mindNode.Left + mindNode.ItemHeight + mindNode.Spacing.Height; double top = mindNode.Top - mindNode.Spacing.Height; if (mindNode.Children?.Count > 0) { - foreach (var child in mindNode.Children) { child.Left = left + child.DesiredSize.Height - child.ItemHeight / 2 - child.Spacing.Height + child.Offset.X; @@ -241,23 +240,22 @@ namespace AIStudio.Wpf.Mind.Helpers } else { - double left = mindNode.Left - mindNode.Spacing.Width + mindNode.DesiredSize.Height; - double top = mindNode.Top - mindNode.Spacing.Height; + double left = mindNode.Left + mindNode.ItemHeight + mindNode.Spacing.Height; + double top = mindNode.Top + mindNode.ItemHeight + mindNode.Spacing.Height; if (mindNode.Children?.Count > 0) { - foreach (var child in mindNode.Children) { child.Left = left + child.DesiredSize.Height - child.ItemHeight / 2 - child.Spacing.Height + child.Offset.X; - child.Top = top - child.DesiredSize.Height + child.ItemHeight / 2 + child.Spacing.Height + child.Offset.Y; + child.Top = top + child.DesiredSize.Height - child.ItemHeight / 2 - child.Spacing.Height + child.Offset.Y; child.DesiredPosition = child.Position; - top -= child.DesiredSize.Height; + top += child.DesiredSize.Height; left += child.DesiredSize.Height; ArrangeOverride(child); var connect = mindNode.Root?.Items.OfType().FirstOrDefault(p => p.SourceConnectorInfo?.DataItem == mindNode && p.SinkConnectorInfoFully?.DataItem == child); - connect?.SetSourcePort(mindNode.BottomLeftConnector); + connect?.SetSourcePort(mindNode.TopLeftConnector); connect?.SetSinkPort(child.LeftConnector); connect?.SetVisible(child.Visible); } diff --git a/AIStudio.Wpf.Mind/Helpers/LogicalLayout.cs b/AIStudio.Wpf.Mind/Helpers/LogicalLayout.cs index a13ba6a..34b1468 100644 --- a/AIStudio.Wpf.Mind/Helpers/LogicalLayout.cs +++ b/AIStudio.Wpf.Mind/Helpers/LogicalLayout.cs @@ -95,7 +95,7 @@ namespace AIStudio.Wpf.Mind.Helpers var size = MeasureOverride(mindNode); ArrangeOverride(mindNode); - mindNode.Root.BringToFrontCommand.Execute(new SelectableDesignerItemViewModelBase[] { mindNode }); + mindNode.Root.BringToFrontCommand.Execute(mindNode.Root.Items.OfType()); mindNode.GetLevel1Node().LayoutUpdating = false; } diff --git a/AIStudio.Wpf.Mind/Helpers/MindLayout.cs b/AIStudio.Wpf.Mind/Helpers/MindLayout.cs index 0440ab2..8097374 100644 --- a/AIStudio.Wpf.Mind/Helpers/MindLayout.cs +++ b/AIStudio.Wpf.Mind/Helpers/MindLayout.cs @@ -97,7 +97,7 @@ namespace AIStudio.Wpf.Mind.Helpers var size = MeasureOverride(mindNode); ArrangeOverride(mindNode); - mindNode.Root.BringToFrontCommand.Execute(new SelectableDesignerItemViewModelBase[] { mindNode }); + mindNode.Root.BringToFrontCommand.Execute(mindNode.Root.Items.OfType()); mindNode.GetLevel1Node().LayoutUpdating = false; } diff --git a/Directory.Build.Props b/Directory.Build.Props index 4d652c4..b3d0e9d 100644 --- a/Directory.Build.Props +++ b/Directory.Build.Props @@ -1,7 +1,7 @@ - netcoreapp3.1;net5.0-windows + net461;netcoreapp3.1;net5.0-windows