Указанный элемент уже является логическим дочерним элементом другого элемента. Сначала отключите его

вот ошибка, которая возникает у меня, когда я хочу прикрепить FrameworkElement к новому окну, чтобы опубликовать его в PNG файл.

Моя идея состоит в том, чтобы удалить связь родитель-потомок, вызвать мой метод и снова добавить потомка с помощью этого кода:

this.RemoveLogicalChild(element);
PublishFrameworkElement(element, stream);
this.AddLogicalChild(element);

Но у меня точно такая же ошибка ...

Я просмотрел много вопросов об этой ошибке здесь, на SO, но никто не ответил на мою проблему Что мне не хватает?

РЕДАКТИРОВАТЬ: вот код, который работал у меня:

var element = _GeneratedContent as FrameworkElement;
var ParentPanelCollection = (element.Parent as Panel).Children as UIElementCollection;
ParentPanelCollection.Clear();

FileStream stream = [...]

if (element != null)
{
    PublishFrameworkElement(element, stream);
    ParentPanelCollection.Add(element);
}
stream.Close();
17
задан Guillaume Slashy 2 February 2012 в 10:44
поделиться