質問

最初にリストボックスがあり、DataSourceをMyObjectCollectionに設定します

MyObjectCollectionは、MyObjectを含むIListSourceインターフェイスを実装します

MyObjectにはメソッドがあります

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

リストボックスに「テスト」と表示されるようになりましたMyObjectCollectionの各要素に対して。

ただし、IListSourceインターフェイスをMyObjectに適用する場合も同様です。リストボックスには空の文字列が表示されます。 " MyObject"でそれを修正する方法クラス。 回避策はListbox Formatイベントで修正することですが、すべてのGUI要素はこの回避策を実装する必要があります:/

役に立ちましたか?

解決

一般に、物はいずれかがリストであるか、またはがバインディングのエンティティである必要があります。リスト( IList または IListSource )である場合、データバインディングAPIの多くは、実際に(単純なバインディングシナリオの場合、つまり1行)<サブリストのem>最初アイテム。

MyObject IListSource を実装しないように単純に変更しますが、カプセル化します。 Items プロパティを介して公開します。また、カスタム TypeConverter が機能するかどうかを調べることもできます(調査します...)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top