Вопрос

У меня небольшая проблема, у меня есть массив, и я хочу добавить его в поле со списком, поэтому я хочу использовать метод AddRange, но он недоступен в WPF, есть ли способ, которым я могу сделать это в поле со списком?

Спасибо.

Это было полезно?

Решение

Вы не можете сделать это в одном заявлении, нет.Вам придется перебирать массив с помощью foreach, добавляя каждый элемент по отдельности.Очевидно, что вы можете инкапсулировать это в вспомогательный метод или метод расширения, если вы планируете делать это часто.

Если вы привязываете к данным поле со списком.Элементы ссылаются на ObservableCollection (вместо того, чтобы манипулировать полем со списком.Элементы напрямую), есть трюк, который вы можете использовать, чтобы избежать получения уведомлений об изменении коллекции для каждого отдельного добавления, описанный в ответах на этот вопрос.

Другие советы

Вы не можете, но вы можете использовать linq для имитации AddRange

Попробуйте написать что-то подобное:

    ComboBox    combo;
    String[]    arrOperator = new String[] { "=", "<", "<=", ">", ">=", "<>" };

    combo = new ComboBox();
    arrOperator.ToList().ForEach(item => comboRetVal.Items.Add(item));

Вы можете попробовать

 comboBox1.ItemsSource = array;

Попробуйте написать что-то подобное в codebehind :

Выпадающий список 1.Товары.Дополнительный диапазон (new[] { "Желтый", "Темно-синий", "Красный", "Зеленый" });

или

ArrayList массив = новый ArrayList();
array.Добавить("1");
array.Добавить("2");
Выпадающий список 1.Товары.Дополнительный диапазон (массив);

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top