2013-06-17 3 views
0

Comment puis-je obtenir les enfants d'un élément parent?Comment obtenir les enfants de l'élément parent

J'ai essayé comme ceci: (block.Parent as FrameworkElement).Children mais il n'y a pas de propriété Children pour FrameworkElement s

+0

Cela dépend du type de votre objet parent. Si c'est quelque chose comme Stackpanel, vous pouvez vérifier les enfants-propriété. Certains éléments n'ont pas Child-Elemenst comme un TextBlock. Un Button par exemple a une Content-Property, qui peut être n'importe quoi (par exemple un Stackpanel) – Tomtom

+0

@Tomtom la chose est que le parent peut être de n'importe quel type .. –

+0

S'il y a plus d'un enfant, c'est probablement un 'Panel '. Essayez donc de convertir le parent en panel au lieu de FrameworkElement. –

Répondre

4

Utilisez la méthode VisualTreeHelper.GetChild de class

for(var i = 0; i < VisualTreeHelper.GetChildCount(element); i++) 
{ 
    var child = VisualTreeHelper.GetChild(element, i); 
    ... 
} 

Un exemple est également disponible sur cette page.

+0

Merci, et comment puis-je ajouter à ces enfants? (ajouter un élément au parent d'un autre élément?) –

+0

Vous ne pouvez ajouter que si c'est un panneau, sinon vous devez remplacer l'enfant. –

+0

@FlorianGl et comment puis-je remplacer l'enfant? –

1

Je suppose que vous avez une certaine Panel comme un conteneur pour les éléments enfants. Vous avez donc besoin de lancer un panneau.

(block.Parent as Panel).Children 
Questions connexes