2010-11-23 32 views
5

Dans winforms, je fais habituellement Parent.Controls.Remove(this); pour avoir un UserControl supprimer lui-même. Cela ne fonctionne pas pour wpf. Mon contrôle a un bouton dessus pour supprimer l'UserControl entier, des idées comment accomplir ceci dans wpf? Merci d'avanceCauser un UserControl pour supprimer lui-même (WPF)

+0

voulez-vous supprimer userocntrol, dans quel est le bouton? Quel type est le conteneur parent? –

+0

pourriez-vous fournir votre balisage XAML, pour le rendre clair? –

+0

@ArsenMkrt - Un stackpanel est le parent, mais je préférerais garder le contrôle générique et non limité au type parent. – Josh

Répondre

8

Vous aurez besoin de connaître le type de propriété de Parent pour que vous supprimiez votre contrôle Parent.

Tous les parents de type panneau (grille, WrapPanel, StackPanel) ont la propriété Children:

-à-dire pour la grille:

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

ContentControls (Button, ContentControl, Border) ont contenu:

c'est-à-dire pour Button:

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

Aaah! Je vois, merci! Je pense que le casting à un type de base de panneau est plus d'un ajustement générique si :) – Josh

+0

True true;) ... – Arcturus