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
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
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.
Merci, et comment puis-je ajouter à ces enfants? (ajouter un élément au parent d'un autre élément?) –
Vous ne pouvez ajouter que si c'est un panneau, sinon vous devez remplacer l'enfant. –
@FlorianGl et comment puis-je remplacer l'enfant? –
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
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
@Tomtom la chose est que le parent peut être de n'importe quel type .. –
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. –