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

MyObjectCollection实现了包含MyObject的

的接口IListSource

MyObject有方法

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

列表框现在显示“测试”对于MyObjectCollection中的每个元素。

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

有帮助吗?

解决方案

通常, 是列表,应该是绑定的实体。如果它是一个列表( IList IListSource ),那么大部分数据绑定API将假定您实际需要(对于简单绑定方案,即一行)<来自子列表的em> first 项目。

我只是改变它,以便 MyObject 实现 IListSource ,但是封装它,也许通过 Items 属性公开它。您还可以查看自定义 TypeConverter 是否有效(我将调查......)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top