public static void RefreshRelationShipPosition(
            LinkDefinition linkDefinition,
            Dictionary<TableDefinition, TableDefinitionControl> tableDefinitionControls,
            Canvas modelViewerContainer,
            Line line)
        {
            var sourceTableDefinition = linkDefinition.Source.TableDefinition;
            var targetTableDefinition = linkDefinition.Target.TableDefinition;
            var sourceTableDefinitionControl = tableDefinitionControls[sourceTableDefinition];
            var targetTableDefinitionControl = tableDefinitionControls[targetTableDefinition];
            var sourceCenterPoint = CalculateTableDefinitionControlCenterPoint(sourceTableDefinitionControl);
            var targetCenterPoint = CalculateTableDefinitionControlCenterPoint(targetTableDefinitionControl);
            var sourceTableCoordinateX = Canvas.GetLeft(sourceTableDefinitionControl);
            var targetTableCoordinateX = Canvas.GetLeft(targetTableDefinitionControl);
            var sourceTableCoordinateY = Canvas.GetTop(sourceTableDefinitionControl);
            var targetTableCoordinateY = Canvas.GetTop(targetTableDefinitionControl);

            line.X1 = sourceTableCoordinateX + sourceCenterPoint.X;
            line.X2 = targetTableCoordinateX + targetCenterPoint.X;
            line.Y1 = sourceTableCoordinateY + sourceCenterPoint.Y;
            line.Y2 = targetTableCoordinateY + targetCenterPoint.Y;
        }
        private void AddLinkCommandExecute()
        {
            if (TableDefinitions.Count < 2)
            {
                return;
            }

            var link = new LinkDefinition
            {
                Source = new EndPointDefinition()
                {
                    ColumnDefinition = TableDefinitions.Last().ColumnDefinitions.First(),
                    TableDefinition = TableDefinitions.Last()
                },
                Target = new EndPointDefinition()
                {
                    ColumnDefinition = TableDefinitions[TableDefinitions.Count - 2].ColumnDefinitions.First(),
                    TableDefinition = TableDefinitions[TableDefinitions.Count - 2]
                }
            };

            _linkDefinitions.Add(link);
        }