Не могу перемещаться между страницами в WPF. C#. Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его

Хочу перемещаться по страницам в WPF, но выходит ошибка. "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его". MenuPage - это страница, на которую должен идти переход, а CalculatePage - это текущая страница.

 MenuPage menuPage = new MenuPage();
      CalculatePage calculatePage = new CalculatePage();
      calculatePage.Content = menuPage.Content;

Как обойти эту проблему? Помогите пожалуйста!!!


Ответы (1 шт):

Автор решения: AlexanderSt

Из Вашего кода следует буквально, что Вы пытаетесь отобразить в контенте calculatePage контент menuPage, у которого уже есть родитель в лице объекта menuPage. Немного запутанно и коряво получилось объяснение, но всё же.

Если Вы напишете вот такую конструкцию:

CalculatePage calculatePage = new CalculatePage(){ Content = menuPage };

то ошибки не будет, внутри страницы calculatePage отобразится целиком menuPage (если, конечно, там всё нормально по типам объектов - к примеру MenuPage является UserControl-ом).

→ Ссылка