gpt4 book ai didi

c# - "Specified element is already the logical child of another element. Disconnect it first"第二次调用窗口出错

转载 作者:行者123 更新时间:2023-11-30 17:43:08 27 4
gpt4 key购买 nike

我目前正在尝试修复登录到我的应用程序后加载我的 window1 的错误(这工作正常),然后我使用我创建的功能返回到登录表单以更改登录用户,我得到一个第二次加载我的 Window1 时出错

错误信息“指定的元素已经是另一个元素的逻辑子元素。先断开它。”

window1代码是

public Window1()
{
InitializeComponent();

var tc = TabsControl.Instance as Control;
Grid.SetColumn(tc, 1);
Grid.SetRow(tc, 1);

//error happens on this line
grdMainContent.Children.Add(tc);
}

不确定如何断开此元素,目前在 google 上未成功。

我尝试过的是以下内容。

grdMainContent.Children.Remove(tc);

if (!grdMainContent.Children.Contains(TabsControl.Instance as Control))
{
grdMainContent.Children.Add(tc);
}

if (grdMainContent.Children.Contains(tc))
{
grdMainContent.Children.Add(tc);
}

我们一如既往地非常感谢您的帮助

最佳答案

发生这种情况是因为您似乎在窗口的另一个实例中重用了以前作为 grdMainContent 的子项使用和添加的 TabsControl。

您可以使用以下方法分离它:

Grid parentGrid = tc.Parent as Grid;
If(parentGrid != null) {
parentGrid.Children.Remove(tc);
}

关于c# - "Specified element is already the logical child of another element. Disconnect it first"第二次调用窗口出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31340710/

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