2010-11-23 6 views
5

In winforms mache ich normalerweise Parent.Controls.Remove(this);, um ein UserControl selbst entfernen zu lassen. Dies funktioniert nicht für wpf. Mein Steuerelement hat Button, um das gesamte UserControl zu entfernen, irgendwelche Ideen, wie dies in WPF zu erreichen? Vielen Dank im VorausEinen UserControl verursachen, um sich selbst zu entfernen (WPF)

+0

Möchten Sie userocntrol entfernen, in Was ist Knopf? Welcher Typ ist der Elterncontainer? –

+0

könnten Sie Ihnen XAML-Markup zur Verfügung stellen? –

+0

@ArsenMkrt - Ein Stackpanel ist das übergeordnete Element, aber ich würde es vorziehen, das Steuerelement generisch und nicht auf den übergeordneten Typ beschränkt zu halten. – Josh

Antwort

8

Sie müssen den Typ der Parent Eigenschaft kennen, um sich von Ihrer Elternkontrolle zu entfernen.

Alle Panel-Typ Eltern (Gitter, WrapPanel, Stackpanel) die Children Eigenschaft:

dh für Grid:

((Grid)button.Parent).Children.Remove(this); 

ContentControls (Button, Content, Border) haben Inhalt:

dh für Button:

((Button)control.Parent).Content = null; 
+2

Aaah! Ich verstehe, danke! Ich denke, das Gießen zu einem Panel Basistyp ist eher eine generische Passform obwohl :) – Josh

+0

True true;) ... – Arcturus