带有DataSource的IListSource和ToString()

时间:2009-09-10 15:29:22

标签: c# datasource tostring

首先我有一个Listbox并将DataSource设置为MyObjectCollection

MyObjectCollection实现了包含MyObject的

的接口IListSource

MyObject有方法

public override string ToString()
{
    return "test";
}

列表框现在为MyObjectCollection中的每个元素显示“test”。

但是,如果我也将IListSource接口应用于MyObject。列表框显示一个空字符串。如何解决“MyObject”类中的问题。 解决方法是在Listbox Format事件中修复它,但是每个GUI元素都必须实现此解决方法:/

1 个答案:

答案 0 :(得分:1)

通常, 是列表,应该是绑定的实体。如果它是一个列表(IListIListSource),则大部分数据绑定API将假设您实际需要(对于简单绑定方案,即一行) first 子列表中的项目。

我只是更改它,以便MyObject 实现IListSource,但封装它,可能通过{{ 1}}属性。您还可以查看自定义Items是否有效(我将调查......)