gpt4 book ai didi

c# - 指定的元素已经是另一个元素的逻辑子元素。先断开它

转载 作者:可可西里 更新时间:2023-11-01 02:59:29 24 4
gpt4 key购买 nike

这是我想将 FrameworkElement 附加到新窗口以将其发布到 PNG 文件时遇到的错误。

所以我的想法是删除父子链接,调用我的方法,然后使用以下代码再次添加 child :

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

最佳答案

如果 element 是面板(例如网格)的子元素,您必须将其从面板的 Children 中删除收藏。如果它被设置为 ContentControlContent,您必须将该 Content 设置为 null(或任何其他不是 element 的内容) .

关于c# - 指定的元素已经是另一个元素的逻辑子元素。先断开它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com