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); }