我正在尝试创建具有不同数据类型的集合以绑定到Silverlight和C#中的列表框控件.
如果每种数据类型都实现一个接口,是否可能?
例如,我有单独的对象“ Violin”,“ Guitar”和“ Drums”,每个对象都实现了“ IMusicalInstrument”接口.然后可以创建列表,将其绑定到列表框,或者将“ Violin”,“ Guitar”和“ Drums”对象添加到该列表吗?
解决方法:
是的,您可以使用列表Generic来查看List<T>
.您可以使用一些工具创建一个列表,如下所示:
var instruments = new List<IMusicalInstrument> {
new Drum(),
new Guitar(),
new Violin()
}
然后使用instrumentsListBox.DataSource = instrument;
但是,如果您想让自己轻松一些,请告诉他们实现DisplayMember和ValueMember的属性,这就是ListBox用于确定选择内容时显示和用作值的内容的方式.