1

首先我有一个列表框并将 DataSource 设置为 MyObjectCollection

MyObjectCollection 实现了 IListSource 接口,其中包含 MyObject 的

MyObject 有方法

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

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

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

4

1 回答 1

1

通常,事物应该列表,或者应该是用于绑定的实体。如果它是一个列表(IListIListSource),那么大部分数据绑定 API 将假定您确实想要(对于简单绑定场景,即一行)子列表中的第一项。

我会简单地更改它,使其MyObject 实现IListSource,而是封装它,也许通过Items属性公开它。您还可以查看自定义TypeConverter是否有效(我会调查...)

于 2009-09-10T15:36:54.783 回答