WPF Combobox, как заполнить списком - PullRequest
1 голос
/ 25 марта 2019

Я создаю приложение для отслеживания бюджета, так как я учу себя программировать и хочу, чтобы у меня были категории вещей, на которые я трачу свои деньги.У меня есть combobox, который я хотел бы заполнить содержимым списка, содержащего категории.Как бы я поступил так?

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Вы бы просто присвоили коллекцию предметов свойству ItemsSource:

comboBox.ItemsSource = new List<string> { "Item 1", "Item 2", "Item 3" };

См. Примечания для свойства ItemsControl.ItemsSource в документах MS:

Модель содержимого: это свойство может использоваться для добавления элементов в ItemsControl.

Распространенным сценарием является использование ItemsControl, такого как ListBox, ListView или TreeView, для отображения коллекции данных или для привязки ItemsControl к объекту коллекции. Чтобы связать ItemsControl с объектом коллекции, используйте свойство ItemsSource. Обратите внимание, что свойство ItemsSource по умолчанию поддерживает привязку OneWay.

Когда свойство ItemsSource установлено, коллекция Items становится доступной только для чтения и имеет фиксированный размер.


Насколько я понимаю, свойство Items в основном существует как коллекция по умолчанию, куда элементы добавляются, когда вы назначаете их непосредственно в XAML. ItemsControls присваивается

[System.Windows.Markup.ContentProperty("Items")]

для поддержки XAML следующим образом:

<ComboBox>
    <sys:String>Item 1</sys:String>
    <sys:String>Item 2</sys:String>
    <sys:String>Item 3</sys:String>
</ComboBox>
0 голосов
/ 25 марта 2019

Чтобы заполнить комбинированный список содержимым списка, необходимо добавить каждый элемент этого списка в items комбинированного списка.

Минимальный пример, при условии, что вы определили comboBox1:

        List<string> myList = new List<string> { "item1", "item2", "item3" };
        myList.ForEach(x => { comboBox1.Items.Add(x); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...