如何在WPF中使一个UserControl在运行时自我移除?

3
我制作了一个用户控件,里面包含几个标签和复选框以及一个“x”按钮,当点击它时会将自身移除。
考虑到在我的WPF应用程序中,用户可以在运行时动态放置任意数量的此用户控件,并且没有一个具有地址属性的名称可以寻址,那么如何通过在其子按钮“x”(即在其“x”按钮的事件处理程序中)上单击来从应用程序中移除用户控件?
我已经看了一千个位置,并找到了这两行代码,它们没有起作用:
((Grid)button.Parent).Children.Remove(this);
((Button)control.Parent).Content = null;

为什么 .Remove(this) 没有起作用?你收到了异常吗? - Rachel
我不知道为什么。实际上,我无法追踪与我的UserControl相关的代码,因为它是一个DLL文件。 但据我所知,它可能无法通过层次结构找到该项... :/ - Ali
1个回答

21

如果您的控件已添加到任何类型的容器控件(即从Panel派生的类),则以下内容应该有效:

((Panel)this.Parent).Children.Remove(this);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接