Привязка .NET WinForms ListBox к коллекции ConnectionStringSettingsCollection - PullRequest
0 голосов
/ 28 апреля 2011

Я пытаюсь привязать ConnectionStringsSettingsCollection из моего файла app.config к ListBox в моем приложении WinForms. По какой-то причине я не могу сделать это следующим способом:

lstMyListBox.DataSource = GetConnectionStrings()
lstMyListBox.DisplayMember = "Name"

Я могу сделать это путем перебора коллекции и добавления каждого ConnectionStringSetting в lstMyListBox.Items:

For Each settings As ConnectionStringSettings In GetConnectionStrings()
    lstMyListBox.Items.Add(settings)
Next
lstMyListBox.DisplayMember = "Name"

Работает так же, как и изменение отдельных элементов, которые уже находятся в коллекции, но мне бы хотелось, чтобы я удалил что-то из ListBox, чтобы оно было удалено из базовой коллекции. Есть ли что-то, что я могу сделать по-другому, что позволит мне привязать ListBox непосредственно к ConnectionStringSettingsCollection?

1 Ответ

1 голос
/ 28 апреля 2011

ConnectionStringsSettingsCollection не реализует IList или IListSource, поэтому его нельзя использовать как DataSource.Вместо этого вы можете связать список ConnectionStringSettings:

lstMyListBox.DataSource = GetConnectionStrings().Cast(Of ConnectionStringSettings).ToList()
lstMyListBox.DisplayMember = "Name"

Однако DisplayMember, похоже, не принимается во внимание, по крайней мере, не для всех элементов ... но он работает нормально, еслииспользуйте "ConnectionString" в качестве DisplayMember.Не уверен, почему ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...