【问题标题】:How can I reparent a WPF UIElement?如何重新设置 WPF UIElement?
【发布时间】:2010-11-03 09:58:42
【问题描述】:

如何将UIElement 重新设置为另一个窗口?在关闭窗口之前,我已将 Content 设置为 null。然后启动一个新窗口并将UIElement 设置为该窗口的内容。

这会产生 InvalidOperationException:“Het opgegeven element is al het logische onderliggende element van een ander element. Koppel dit eerst los.”​​

不幸的是,我的窗户是荷兰式的。大致翻译如下:“指定元素已经是另一个元素的逻辑子元素,先断开连接。”

我不明白的是我已经解耦了它,但它仍然给出了这个错误。

【问题讨论】:

    标签: .net wpf wpf-controls uielement


    【解决方案1】:

    仅将内容设为 null 不会影响父子关系。您需要使用窗口的RemoveLogicalChild函数将UIElement作为前一个窗口的子窗口删除,然后将其附加到新窗口。

    【讨论】:

    • 我在使用 RemoveLogicalChild 时遇到了同样的错误。结合 RemoveVisualChild 我仍然得到同样的错误..
    • 您能否提供一个代码示例,因为 RemoveLogicalChild 功能对我很有用。
    猜你喜欢
    • 2010-12-21
    • 2023-04-03
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多