Проблема с InvalidOperationException

238
31 декабря 2018, 15:40

В проекте я пытаюсь реализовать "разрыв линии" (то есть при нажатии на линию создается точка, с которой соединяются два элемента)

var p = (sender as Line).DataContext as EdgeLine;
int index = Edgeln.IndexOf(p);
Uzel uz = new Uzel();
vm = new FullElement { SelectedControl = uz, Pos = (e.GetPosition(ic_canvas)), EllipseOfUC = uz.uzel_Uc };
vm.EllipseOfUC.MouseRightButtonDown += EllipseOfUC_MouseRightButtonDown;
vm.EllipseOfUC.MouseRightButtonUp += EllipseOfUC_MouseRightButtonUp;
VisMod.Add(vm);
p.B.EllipseOfUC = vm.EllipseOfUC;
el1 = new EllipseOfElement { EllipseOfUC = p.A.EllipseOfUC, PosOfEllipse = p.A.EllipseOfUC.TransformToVisual(ic_canvas).Transform(new Point(p.A.EllipseOfUC.ActualHeight / 2, p.A.EllipseOfUC.ActualWidth / 2)) };
el2 = new EllipseOfElement { EllipseOfUC = p.B.EllipseOfUC, PosOfEllipse = p.B.EllipseOfUC.TransformToVisual(ic_canvas).Transform(new Point(p.B.EllipseOfUC.ActualHeight / 2, p.B.EllipseOfUC.ActualWidth / 2)) };
connect = new EdgeLine { A = el1, B = el2 };
Edgeln.Add(connect);
p.A.EllipseOfUC = vm.EllipseOfUC;
el1 = new EllipseOfElement { EllipseOfUC = p.A.EllipseOfUC, PosOfEllipse = p.A.EllipseOfUC.TransformToVisual(ic_canvas).Transform(new Point(p.A.EllipseOfUC.ActualHeight / 2, p.A.EllipseOfUC.ActualWidth / 2)) };
el2 = new EllipseOfElement { EllipseOfUC = p.B.EllipseOfUC, PosOfEllipse = p.B.EllipseOfUC.TransformToVisual(ic_canvas).Transform(new Point(p.B.EllipseOfUC.ActualHeight / 2, p.B.EllipseOfUC.ActualWidth / 2)) };
connect2 = new EdgeLine { A = el1, B = el2 };
Edgeln.Add(connect2);
Edgeln.RemoveAt(index);

Но при "осуществлении" этого выдается ошибка:

System.InvalidOperationException: "Указанный элемент Visual и данный элемент Visual имеют разных предков, поэтому преобразование одного элемента Visual в другой осуществить невозможно."

READ ALSO
Графики в в Windows Forms или wpf

Графики в в Windows Forms или wpf

С помощью чего можно в Windows Forms или wpf сделать подобный график?

219
Валидация RadioButton'ов в WPF на основе IDataErrorInfo

Валидация RadioButton'ов в WPF на основе IDataErrorInfo

Задача: создать аккуратную систему валидации контролов в Window WPF, причем на основе их взаимосвязиНапример, если стоит RadioButton "пол - женский"...

247
Невозможно вывести число

Невозможно вывести число

В данном ниже коде в строке ConsoleWriteLine("{0}", U); U (по словам компилятора) - локальная переменная, которой не присвоено значение, хотя она была инициализирована...

214
Как закрыть главную форму при открытии дочерней?

Как закрыть главную форму при открытии дочерней?

Обработчик кнопки главной формы которая открывает дочернее окно

325