Я создал ArrayList, который содержит объекты KeyValuePair . Существуют списки, которые я хотел бы связать с этим списком, чтобы мне не приходилось заполнять их итерацией, одновременно копируя все данные, которые у меня есть в вышеупомянутом ArrayList.
Я программист на Delphi, и в Delphi я бы использовал элемент управления ListView, установил для его свойства OwnerData значение true, а затем использовал событие OnData, чтобы данный элемент (с указанным индексом) отображал любой фрагмент данных из элемента массива имея тот же индекс. Метод OnData дает мне отображаемый в данный момент элемент в качестве параметра, поэтому у меня есть доступ к, например, его свойства Index, Caption и SubItems. Основываясь на этом индексе, я могу заставить элемент отображать некоторые данные из элемента массива с таким же индексом. Если этот массив изменен, достаточно обновить ListView и / или установить его свойство Count, если длина массива изменилась.
Как достичь той же цели в C # с помощью элемента управления ListBox? Я установил свойство listBox.DataSource в myArrayList, содержащее KeyValuePairs. Теперь я хотел бы, чтобы listBox отображал ключи объектов KeyValuePairs.