1

ジェネリック プロパティ グリッドを使用して、いくつかのカスタム クラスの値を編集しています。これらのクラスの一部にはコレクションがあり、これらのコレクションをコレクション エディターで問題なく開くことができます。コレクションに既にオブジェクトが含まれている場合、それらのオブジェクトを選択して右側で編集できますが、[追加/削除] ボタンは非アクティブです。

これらのコレクションの一部は非常に複雑であるため、カスタム エディターが必要になることはわかっていますが、ほとんどのコレクションは非常に単純です。これらの単純なクラスの追加/削除ボタンをアクティブにする簡単な方法はありますか?それとも、コレクションごとにカスタム エディターを作成する必要がありますか?

4

1 に答える 1

1

[追加] ボタンと [削除] ボタンを有効にするには、非ジェネリックIListインターフェイスを実装するコレクションが必要です。また、明らかに、プロパティReadOnlyが を返す必要がありfalseます。

クラスでの明示的な実装が必要であることに注意してください。単に IList から派生したクラスまたはインターフェイス (suc as IList<Something>)から派生しただけでは機能しません

たとえば、次の場合は問題ありません。

public class MyStuffCollection : List<MyStuff>
{
}

以下は問題ありません。

public class MyStuffCollection : List<MyStuff>, IList
{
}
于 2013-03-02T07:36:21.960 に答える