【问题标题】:How to remove user control from dock panel如何从停靠面板中删除用户控件
【发布时间】:2011-10-16 12:22:44
【问题描述】:
RoomDiagram rd = new RoomDiagram();
maincDockPanel.Children.Remove(rd);

当我赖特时,什么都没有发生。 我如何删除孩子然后添加新的?谢谢

【问题讨论】:

  • 您需要在可视化树中找到RoomDiagram,而不是创建一个新的。它有名字吗?
  • 我怎么能找到它?我什至不知道如何给它起名字。我写 RoomDiagram k = new RoomDiagram(); MessageBox.Show(k.Name.ToString());这个和消息框是空的
  • 您的意思是该控件未在您的 XAML 标记中定义吗?
  • 我认为没有。我是 wpf 的新手。请帮忙删除它
  • 如果它不在您的标记中,您在哪里添加它?你能发布更多你的代码吗?

标签: c# wpf dockpanel


【解决方案1】:

如果您需要删除,那么您必须使用dockPanel1.Children.RemoveAt(),因为ChildrenUIElement Collection,您可以编写一个小代码来遍历集合,看看它是否是您需要删除的控件,然后类似地删除它@如果您使用的是UserControl,则添加 UIElement 的 987654324@ 应该是相同的情况@

一些用于迭代集合的示例代码,将显示控件的名称

 foreach (Control x in dockPanel1.Children)
        {
            MessageBox.Show(x.Name);
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2011-12-02
    • 2011-12-01
    • 2013-11-24
    • 2012-12-03
    • 1970-01-01
    相关资源
    最近更新 更多