Есть ли «тип данных», в котором можно хранить как элементы Combobox, так и элементы ListBox? - PullRequest
0 голосов
/ 17 мая 2011

Я пытаюсь передать список элементов в метод, а не сам элемент.

Ответы [ 4 ]

0 голосов
/ 17 мая 2011

В System.Windows.Controls a ComboBoxItem - это ListBoxItem.

Конечно, все является объектом.

0 голосов
/ 17 мая 2011

Ну, все может быть упаковано в «Объект», и они могут разделить иерархического родителя ближе (у меня нет документов передо мной, и я не думаю, что это важно для этого обсуждения, чтобы проверить).

Мне интересно, чего именно ты пытаешься достичь. Если у вас есть ComboBox и ListBox, которые оба содержат объекты одного и того же типа (на данный момент давайте просто назовем их строками, но я думаю, что они должны применяться ко всему, что вы хотите), вы можете, с относительным упростите извлечение объекта из ListBoxItem или ComboBoxItem, а затем обведите List<string> или IEnumberable<string> или что-либо еще.

Если они не относятся к одному и тому же типу объектов, по какой-либо причине вам может понадобиться проверить, что вы делаете и почему - вероятность того, что вам понадобится объединить два списка из двух совершенно разных объектов и передать полученный составной список вокруг довольно тонкий.

0 голосов
/ 17 мая 2011
ListItemCollection YourList = YourDropDownList.Items;
0 голосов
/ 17 мая 2011

Если ваши элементы списка имеют тип Car, их коллекция всегда может быть приведена к IEnumerable<Car>. Если вы берете IEnumerable<Car> в качестве параметра метода, вы можете перебирать элементы с помощью foreach или применять к нему методы linq. Если вы хотите иметь возможность изменять содержимое коллекции, вам нужно быть более конкретным и, например, используйте IList<Car>.

...