Effacer un TreeView
Je suis le chargement d'un TreeView à partir d'une liste, et l'utilisateur dispose d'un bouton pour supprimer un élément, et il le supprime de la liste, pas de problème, mais il y a aussi un bouton pour mettre à jour l'Arborescence avec la liste une fois que les articles ont été supprimés, je n'ai aucun problème à ajouter les nouveaux éléments de l'Arborescence, mais est-il un moyen pour effacer tous les éléments dans l'Arborescence avant que je ajouter de nouveaux éléments, de sorte que je n'ai pas de doublons dans le TreeView? J'ai essayé de chercher sur d'autres spots sur internet pour la réponse, mais ne peux pas le trouver, j'ai essayé des choses simples comme:
treeView1.Items.Clear();
mais ça ne fonctionne pas.
Désolé, je l'ai mentionné sur un commentaire, ci-dessous que je suis sûr que cette ligne est en fait clair, je suis tout simplement pas l'utiliser dans le bon endroit, merci à tous pour vos réponses.
source d'informationauteur Beef
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, les Éléments et Claire devrait être capitalisés dans votre exemple. C'est peut-être le seul problème.
Deuxième, si vous êtes le remplissage de l'arbre par l'établissement de ses ItemsSource, alors vous n'êtes pas autorisé à ajouter et supprimer des éléments de sa collection d'Éléments à la main. Au lieu de cela, vous devez en faire la source d'une ObservableCollection au lieu d'une Liste. Puis, dans l'arborescence va se mettre automatiquement à jour pour refléter les changements dans la collection source
Pour effacer un treeview, vous effacer les noeuds.
avez-vous essayé
J'ai eu une méthode récursive pour remplir le TreeView après avoir, lors d'une actualisation. Je passais la TreeNode par référence et il provoquerait les nœuds restent visibles et peuvent être sélectionnés dans l'Arborescence, même si le Clair logiquement retiré de la liste de Nœuds. Quand j'ai changé la méthode pour passer le TreeNode en valeur correctement m'a permis d'effacer les noeuds. Le ByRef dans l'exemple ci-dessous a été changé pour ByVal (pour VB.NET).