Ejemplo n.º 1
0
        private void HitTesting(Point testPoint)
        {
            bool hitConnectorFlag = false;

            DependencyObject hitObject = this.connector.ParentDiagramItem.ParentDiagram.InputHitTest(testPoint) as DependencyObject;
            while (hitObject != null &&
                   hitObject != this.connector.ParentDiagramItem &&
                   hitObject.GetType() != typeof (DiagramCanvas)) {
                if (hitObject is Connector) {
                    this.HitConnector = hitObject as Connector;
                    hitConnectorFlag = true;
                }

                if (hitObject is DiagramItem) {
                    HitDiagramItem = hitObject as DiagramItem;
                    if (!hitConnectorFlag)
                        HitConnector = null;
                    return;
                }

                hitObject = VisualTreeHelper.GetParent(hitObject);
            }
        }
Ejemplo n.º 2
0
        private void ConnectorLayoutUpdated(object sender, EventArgs e)
        {
            this.diagramItem = this.GetDiagramItem();
            if (this.diagramItem == null)
                throw new NullReferenceException("Can't find DiagramItem parent");

            if (this.ParentDiagramItem.ParentDiagram != null) {
                this.Position = this.TransformToAncestor(this.ParentDiagramItem.ParentDiagram)
                                    .Transform(new Point(this.Width / 2, this.Height / 2));
            }
        }