将.NET WinForms列表框绑定到ConnectionStringSettingsCollection

将.NET WinForms列表框绑定到ConnectionStringSettingsCollection,.net,winforms,data-binding,.net,Winforms,Data Binding,我正在尝试将app.config文件中的ConnectionStringsSettingsCollection绑定到WinForms应用程序中的列表框。出于某种原因,我似乎无法通过以下方法完成: lstMyListBox.DataSource = GetConnectionStrings() lstMyListBox.DisplayMember = "Name" 我可以通过迭代集合并将每个ConnectionString设置添加到lstMyListBox来完成此操作。项: For Each s

我正在尝试将app.config文件中的ConnectionStringsSettingsCollection绑定到WinForms应用程序中的列表框。出于某种原因,我似乎无法通过以下方法完成:

lstMyListBox.DataSource = GetConnectionStrings()
lstMyListBox.DisplayMember = "Name"
我可以通过迭代集合并将每个ConnectionString设置添加到lstMyListBox来完成此操作。项:

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

它可以修改集合中已经存在的单个项,但是如果我从列表框中删除了某个项,那么我希望它从基础集合中删除。是否有其他方法可以让我将列表框直接绑定到ConnectionStringSettingsCollection?

ConnectionStringsSettingsCollection
不实现
IList
IListSource
,因此它不能用作
数据源。相反,您可以绑定一个
连接字符串设置列表

lstMyListBox.DataSource = GetConnectionStrings().Cast(Of ConnectionStringSettings).ToList()
lstMyListBox.DisplayMember = "Name"
但是,
DisplayMember
似乎没有被考虑在内,至少不是所有项目都考虑在内。。。但是如果使用“ConnectionString”作为
DisplayMember
,它就可以正常工作。不知道为什么