diff --git a/AIStudio.Wpf.DiagramDesigner/PathGenerators/PathGenerators.Corner.cs b/AIStudio.Wpf.DiagramDesigner/PathGenerators/PathGenerators.Corner.cs index af4d898..03df164 100644 --- a/AIStudio.Wpf.DiagramDesigner/PathGenerators/PathGenerators.Corner.cs +++ b/AIStudio.Wpf.DiagramDesigner/PathGenerators/PathGenerators.Corner.cs @@ -579,7 +579,9 @@ namespace AIStudio.Wpf.DiagramDesigner n1 = rect.BottomLeft; n2 = rect.BottomRight; break; default: - throw new Exception("No neighour corners found!"); + //throw new Exception("No neighour corners found!"); + n1 = rect.TopLeft; n2 = rect.BottomLeft;//ToDo + break; } } diff --git a/AIStudio.Wpf.DiagramDesigner/UserControls/ConnectorContainer.xaml.cs b/AIStudio.Wpf.DiagramDesigner/UserControls/ConnectorContainer.xaml.cs index 7210616..ffb1e98 100644 --- a/AIStudio.Wpf.DiagramDesigner/UserControls/ConnectorContainer.xaml.cs +++ b/AIStudio.Wpf.DiagramDesigner/UserControls/ConnectorContainer.xaml.cs @@ -80,11 +80,14 @@ namespace AIStudio.Wpf.DiagramDesigner { if (sender is FullyCreatedConnectorInfo vm) { - var connector = ItemContainerGenerator.ContainerFromItem(vm) as ContentPresenter; - if (connector != null) + if (e.PropertyName == "XRatio" || e.PropertyName == "YRatio") { - Canvas.SetLeft(connector, vm.DataItem.GetItemWidth() * vm.XRatio - vm.ConnectorWidth / 2); - Canvas.SetTop(connector, vm.DataItem.GetItemHeight() * vm.YRatio - vm.ConnectorHeight / 2); + var connector = ItemContainerGenerator.ContainerFromItem(vm) as ContentPresenter; + if (connector != null) + { + Canvas.SetLeft(connector, vm.DataItem.GetItemWidth() * vm.XRatio - vm.ConnectorWidth / 2); + Canvas.SetTop(connector, vm.DataItem.GetItemHeight() * vm.YRatio - vm.ConnectorHeight / 2); + } } } }