Несколько списков привязаны к одному списку
-
03-07-2019 - |
Вопрос
Я пытаюсь привязать несколько ListBox к списку. Когда ListBox в одной форме обновляется, я хочу, чтобы он обновлял и другой ListBox.
Проблема, с которой я сталкиваюсь, заключается в том, что она не обновляет представление в ListBox при обновлении базового List. Если я посмотрю на ListBox.Items в режиме отладки, я увижу, что все добавленные элементы есть, но не отображаются. Кроме того, когда я открываю другую форму, которая отображает список в ListBox, он правильно отображает все элементы, которые уже были добавлены.
private List<String> _list;
public Form1()
{
InitializeComponent();
_list = StaticInstanceOfList.GetInstance();
listbox1.DataSource = _list;
}
public void AddStringToList(string value)
{
if (!_list.Contains(value))
{
_list.Add(value);
}
}
Решение
Попробуйте использовать BindingList < T >
чтобы сохранить ваши элементы, а затем назначить этот список обоим спискам через свойство DataSource
.
Другие советы
Используйте bindingSource и связывайте оба listBoxes к этому.