here is the error I have when I want to attach a FrameworkElement to a new Window to publish it to a PNG file.
So my idea is to remove the parent-child link, call my method, and add the child again with this code :
this.RemoveLogicalChild(element);
PublishFrameworkElement(element, stream);
this.AddLogicalChild(element);
But I got the exact same error...
I looked a lot of questions about this error, here on SO, but none answered to my problem What am I missing ?
EDIT : here is the code that worked for me :
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();
If element
is the child of a Panel (e.g. Grid) you have to remove it from the Panel's Children collection. If it is set as Content
of a ContentControl
, you'd have to set that Content to null (or anything else that is not element
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With