У меня есть поле со списком, которое связано с коллекцией, которая по сути является списком пар имя / значение. Коллекция может иметь несколько элементов с разными именами, но значения могут быть одинаковыми.
public class NameValuePair
{
public string Name { get; set; }
public string Value { get; set; }
}
public class NameValuePairCollection : List<NameValuePair>
{
public NameValuePairCollection(): base() { }
}
Итак, внутри моего пользовательского элемента управления у меня есть личное поле с именем items, которое является экземпляром этой коллекции NameValuePair:
private NameValuePairCollection items = new NameValuePairCollection()
Где-то вдоль линии, что коллекция инициализируется и элементы добавляются к ней. Однако проблема, которую я вижу, состоит в том, когда я пытаюсь установить выбранный индекс поля со списком, который привязан к этой коллекции:
this.CboItemsSelector.SelectedIndex = 3;
или
this.CboItemsSelector.SelectedItem = this.items[3];
Выбранный элемент есть, но пользовательский интерфейс не синхронизирован. Селектор пользовательского интерфейса по умолчанию по-прежнему относится к первому элементу в списке, даже несмотря на то, что свойства Имя и Значение SelectedItem СДЕЛАТЬ В СООТВЕТСТВИИ СООТВЕТСТВУЮЩЕМУ тому, что находится в индексе 3 базовой коллекции!
Есть идеи, как заставить ComboBox обновляться? Или просто исправить проблему? Я знаю, что это довольно маленькая проблема, но она достаточно велика, чтобы заставить меня переписать немного кода .... :( :(: (
Спасибо!