Comment lier WPF TreeView à une liste par programme?

Donc, je suis très nouveau dans WPF et j’essaie de lier ou d’assigner une liste de valeurs Drink à un arborescence wpf, mais je ne sais pas comment le faire et j’ai du mal à trouver quelque chose en ligne qui montre des choses sans utiliser xaml.

struct Drink { public ssortingng Name { get; private set; } public int Popularity { get; private set; } public Drink ( ssortingng name, int popularity ) : this ( ) { this.Name = name; this.Popularity = popularity; } } List coldDrinks = new List ( ){ new Drink ( "Water", 1 ), new Drink ( "Fanta", 2 ), new Drink ( "Sprite", 3 ), new Drink ( "Coke", 4 ), new Drink ( "Milk", 5 ) }; } } 

Comment puis-je faire cela dans le code? Par exemple:

 treeview1.DataItems = coldDrinks; 

et tout apparaît dans l’arborescence.

Vous pouvez simplement définir:

 treeView1.ItemsSource = coldDrinks; 

Cependant, je remets en question l’utilisation d’un TreeView ici. Il est évident que vous affichez des données plates et non hiérarchiques, il n’ya donc aucune raison d’utiliser une vue TreeView.

Pourquoi ne pas simplement utiliser un ListView ou ListBox?

Qu’est-ce que Reed a dit? Plus:

La raison pour laquelle vous ne trouvez pas d’exemples de programmation est que cela n’est pas bien adapté à une utilisation en code. Comme Reed l’a dit, vous définissez la propriété ItemsSource, mais cela ne donne pas les résultats que vous recherchez. Dans votre exemple, le résultat sera:

 MyApplication.Drink MyApplication.Drink MyApplication.Drink MyApplication.Drink MyApplication.Drink 

En effet, le modèle d’élément par défaut affiche simplement les résultats de la méthode ToSsortingng () de l’élément. Pour obtenir les noms des boissons, vous devez spécifier un modèle d’élément personnalisé. Ceci est mieux fait en XAML.

         

Vous pouvez créer le modèle et l’attacher au code, mais cela demande beaucoup plus d’efforts que de le faire en XAML.