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