Comment obtenez-vous le niveau d'un treeviewitem dans WPF C#? Dans les formulaires Windows, il existe un membre .Level de la classe treeview mais il ne semble pas en avoir un pour WPF C#.Comment obtenez-vous le niveau d'un treeviewitem dans WPF C#?
Répondre
Créer un modèle de vue.
Un modèle de vue vous donne une plus grande flexibilité avec l'arborescence que vous pouvez atteindre sans elle. Faites-vous une faveur, ne marchez pas dans l'arbre visuel, Si un nœud parent n'est pas visible, il pourrait être virtualisé et votre personnage de niveau (ou de profondeur) aurait tort. Construire un modèle de vue qui enveloppe vos données et sait à quel niveau il est.
Consultez les réponses affichées ici.
answer link one (vous ajouteriez une autre propriété à votre modèle de vue - niveau)
Cela semble assez vaste. Pendant que je travaille dessus, permettez-moi de vous demander si une opération plus simple est disponible sans construire un modèle de vue. Dans WPF, je peux obtenir quel élément de l'arbre sur lequel l'utilisateur a cliqué. Après cela, je peux utiliser le membre "items" pour obtenir une liste des enfants de cet item. Y a-t-il un moyen d'obtenir un lien vers le parent? Il y a une sorte de "hérité de" et "décédé de" membre de la classe treeviewitem. Comment puis-je utiliser cela? – xarzu
jeter un oeil sur le lien sous votre question, il s'agit de marcher dans l'arbre visuel. Généralement, l'élément que vous recherchez sera le DataContext de TreeViewItem. –
Je l'ai fait avec un convertisseur parce que je voulais le faire avec <style>
<DataTrigger Binding="{Binding Parent, RelativeSource={RelativeSource Self}, Converter={StaticResource TreeViewItemConverter}}" Value="1">
<Setter TargetName="Bd" Property="Background" Value="Yellow"/>
</DataTrigger>
Et la convertisseur
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((value as TreeView) != null)//level 1
return 0;
var item = (value as TreeViewItem);
if (item != null) // level 2 and 3
return (item.Parent as TreeViewItem)!=null ? 2 : 1;
return 0;
}
Ceci est particulièrement utile pour le style multiniveau dans l'arborescence
- 1. Comment créer TreeViewItem non sélectionnable dans WPF
- 2. WPF: Combobox dans TreeviewItem
- 3. Sélection de Treeviewitem dans WPF
- 4. Obtention de TreeViewItem dans WPF
- 5. comment sélectionner treeviewitem en wpf
- 6. WPF TreeViewItem Expansion Animation
- 7. WPF: Liaison à TreeViewItem sélectionné
- 8. WPF TreeViewItem menu contextuel dyanmic
- 9. WPF: Correctement le stockage d'un objet dans un TreeViewItem
- 10. Comment puis-je remplacer TreeViewItem dans WPF pour permettre le chargement des enfants asynchrones?
- 11. WPF: Obtenir les contrôles constituants de TreeViewItem
- 12. WPF Valeur d'en-tête TreeViewItem après DataBinding
- 13. WPF Double Cliquez TreeViewItem Noeud enfant
- 14. WPF: TreeViewItem lié à une ICommand
- 15. WPF TreeViewItem Menu contextuel Unhighlights Item
- 16. le niveau d'un treeview dans WPF?
- 17. capture MouseEnter/MouseLeave sur l'image dans WPF TreeViewItem
- 18. C# WPF Comment puis-je obtenir un TreeViewItem à partir de l'élément HierarchicalDataTemplate?
- 19. WPF: Définition d'une liaison pour toutes les instances TreeViewItem
- 20. WPF TreeViewItem élément désélectionné encore légèrement en surbrillance
- 21. icône Ajouter à WPF TreeViewItem lors de l'exécution
- 22. HierarchicalDataTemplate TreeViewItem
- 23. Menu contextuel sur TreeViewItem Appelle la méthode TreeViewItem?
- 24. Wpf- Comment puis-je obtenir le TreeViewItem qui a déclenché l'événement TreeViewItem.Loaded?
- 25. Silverlight TreeViewItem, Liaison à IsSelected, comment?
- 26. WPF Lostfocus ne se déclenche pas correctement vs2010 treeviewitem
- 27. Comment déterminez-vous la largeur du texte dans un TreeViewItem WPF au moment de l'exécution?
- 28. Appliquer le style à tous TreeViewItem
- 29. WPF C# Développez le cast réel invalide TreeNode
- 30. Rendre sélectionnable à nouveau un WPF TreeviewITem après le premier clic
Voir http://stackoverflow.com/questions/437840/the-level-of-a-treeview-in-wpf –