Вы можете открыть ComboBox, фактически каждый ItemsControl, двумя способами.
Первый: добавьте непосредственно элементы к нему, который работает в коде или в Xaml
<ComboBox>
<ComboBoxItem Name="Item1" />
<ComboBoxItem Name="Item2" />
</ComboBox>
но это довольно статично.
Второй подход использует динамический список.
В качестве примера, давайте предположим, что у вас есть окно и поле со списком в вашем xaml. Combobox получает x:Name="myCombobox"
В своем коде вы можете создать свой список и установить его как ItemsSource
List<string> myItemsCollection = new List<string>();
public Window1()
{
InitializeComponent();
myItemsCollection.Add("Item1");
myCombobox.ItemsSource = myItemsCollection;
}
это работает нормально, но есть одна проблема. Если вы измените список после того, как вы установите его в качестве ItemsSource, пользовательский интерфейс не будет догонять последние изменения. Таким образом, чтобы это работало, вам нужно использовать ObservableCollection
, теперь коллекция может уведомлять о любых изменениях, которые пользовательский интерфейс будет прослушивать. и автоматически добавьте новый элемент в выпадающий список.