コード例 #1
0
        //--------------------------------------------------------------------------
        public void AddControlPoint(Point pos)
        {
            var controlPointData = new GraphReferenceControlPoint(GraphReferenceItem, pos);
            var controlPointView = new LinkControlPoint(this, controlPointData);

            GraphReferenceItem.UndoRedo.ApplyDoUndo(
                () =>
            {
                GraphReferenceItem.ControlPoints.Add(controlPointData);
                ControlPoints.Add(controlPointView);

                RaisePropertyChangedEvent("Link");
            },
                () =>
            {
                GraphReferenceItem.ControlPoints.Remove(controlPointData);
                ControlPoints.Remove(controlPointView);

                RaisePropertyChangedEvent("Link");
            },
                "Add Control Point");
        }
コード例 #2
0
        //--------------------------------------------------------------------------
        public LinkControlPoint(GraphNodeDataLink parent, GraphReferenceControlPoint controlPoint)
        {
            DataContext = this;

            LinkParent        = parent;
            this.controlPoint = controlPoint;

            controlPoint.PropertyChanged += (e, args) =>
            {
                if (args.PropertyName == "Position")
                {
                    RaisePropertyChangedEvent("Position");

                    RaisePropertyChangedEvent("CanvasX");
                    RaisePropertyChangedEvent("CanvasY");

                    LinkParent.RaisePropertyChangedEvent("Link");
                }
                else if (args.PropertyName == "Flip")
                {
                    LinkParent.RaisePropertyChangedEvent("Link");
                }
            };
        }