Это может относиться или не относиться к вашему вопросу, но в вашем коде много странных вещей.
UltraDropDown fruitUltraDropDown = new UltraDropDown();
В Infragistics есть мастера для создания, заполнения и отображения элементов управления в файле designer.cs.,Создание такого элемента управления отбрасывает все данные конструктора и создает новый элемент управления по умолчанию.Вы действительно намерены это?Это выдержка из файла designer.cs?
fruitUltraDropDown.DataSource = fruits.ToList();
Это создает новый List<KeyValuePair<int, string>>
из вашего Dictionary
.fruits
теперь недоступен и может быть использован для сборки мусора, любое изменение, внесенное в него, никогда не будет распространено на fruitUltraDropDown
.Почему вы создаете fruits
только для того, чтобы выбросить его?
Какое событие я могу обработать, когда пользователь вводит "виноград" ...
Типы где?fruitUltraDropDown
?Данные конструктора были отброшены, поэтому fruitUltraDropDown
нельзя редактировать, если не отображается большой объем кода.MyUltraGrid
?Вы не показываете никакого кода для этого, поэтому никто не может иметь никакого представления о том, что он реализует.Текстовое поле?Программные данные?Полная загадка.
Я могу добавить его в словарь ...
Добавлять что-либо в Dictionary
бессмысленно, потому что вы его больше не используете.Если вы хотите добавить его к ultraDropDown1.DataSource
, вы должны добавить KeyValuePair<int, string>
:
var ds = ultraDropDown1.DataSource as List<KeyValuePair<int, string>>;
ds.Add(new KeyValuePair<int,string>(-3, "grape"));
Это просто добавит запись в резервное хранилище.Если вы хотите включить его в ultraDropDown1
:
ultraDropDown1.DataBind();
Если это не поможет, вы должны добавить достаточно информации к своему вопросу, чтобы кто-то без вашего исходного кода мог понять, что вы пытаетесь сделать.