Existe-t-il un «type de données» qui peut stocker à la fois des éléments ComboBox et des éléments Listbox?

StackOverflow https://stackoverflow.com/questions/6033744

  •  14-11-2019
  •  | 
  •  

Question

Ce que j'essaie de faire, c'est transmettre une liste d'éléments à une méthode plutôt que l'élément lui-même.

Était-ce utile?

La solution

Eh bien, tout peut être boxé sur `` objet '' et ils peuvent partager un parent hiérarchique plus près (je n'ai pas les documents devant moi, et je ne pense pas que ce soit assez important pour cette discussion à vérifier).

Je me demande exactement ce que vous essayez d'accomplir. Si tu as un ComboBox et un ListBox qui contiennent tous deux le même type d'objets (appelons-les simplement les cordes pour l'instant, mais cela devrait s'appliquer à tout ce que vous voulez, je pense), vous pouvez, avec une relative facilité, extraire l'objet de la ListBoxItem ou de laComboBoxItem Et puis passe List<string> ou IEnumberable<string> ou peu importe.

S'ils ne sont pas le même type d'objet, pour une raison quelconque, vous devrez peut-être vérifier ce que vous faites et pourquoi - la probabilité d'avoir besoin de combiner deux listes de deux objets complètement différents et de passer la liste concaténée qui en résulte est assez mince .

Autres conseils

Si les éléments de votre boîte de liste sont de type Car une collection d'entre eux peut toujours être jeté pour IEnumerable<Car>. Si vous prenez un IEnumerable<Car> comme paramètre à la méthode, vous pouvez parcourir les éléments avec foreach ou y appliquez des méthodes LINQ. Si vous souhaitez pouvoir modifier le contenu de la collection, vous devrez être un peu plus spécifique et par exemple, utilisez un IList<Car>.

ListItemCollection YourList = YourDropDownList.Items;

Dans System.Windows.Controls un ComboBoxItem est un ListBoxItem.

Bien sûr, tout est un objet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top