示例#1
0
        private void RealDeleteThumb(LinkedListNode <FrameworkElement> polygon, LinkedList <FrameworkElement> ll,
                                     Thumb thumb)
        {
            var canvas = thumb.Parent as Canvas;
            //надо удалить точку, линию и поставить конец линии в другое место,
            //потому удалить элементы канваса
            var startline  = polygon.CircledPrevious();
            var endline    = polygon.CircledNext();
            var newEndNode = endline.CircledNext();

            //удаляем последнюю линию
            ll.Remove(endline);
            canvas.Children.Remove(endline.Value);
            //удаляем вершину
            canvas.Children.Remove(thumb);
            ll.Remove(polygon);

            //далее соединяем startLine и newendnode
            var sl = startline.Value as Line;

            sl.SetLastPointAsElement(newEndNode.Value as Thumb);
        }