带有DataSource的IListSource和ToString()
-
05-07-2019 - |
题
首先我有一个Listbox并将DataSource设置为MyObjectCollection
MyObjectCollection实现了包含MyObject的
的接口IListSourceMyObject有方法
public override string ToString()
{
return "test";
}
列表框现在显示“测试”对于MyObjectCollection中的每个元素。
但是,如果我也将IListSource接口应用于MyObject。列表框显示一个空字符串。如何解决“MyObject”中的问题。类。 解决方法是在Listbox Format事件中修复它,但是每个GUI元素都必须实现此解决方法:/
解决方案
通常, 是列表,或应该是绑定的实体。如果它是一个列表( IList
或 IListSource
),那么大部分数据绑定API将假定您实际需要(对于简单绑定方案,即一行)<来自子列表的em> first 项目。
我只是改变它,以便 MyObject
不实现 IListSource
,但是封装它,也许通过 Items
属性公开它。您还可以查看自定义 TypeConverter
是否有效(我将调查......)
不隶属于 StackOverflow