Existe-t-il un «type de données» qui peut stocker à la fois des éléments ComboBox et des éléments Listbox?
-
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.
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.