2

次のようなクラスがあるとします。

public class SomeClass
{
    public SomeClass()
    {
        Name = "Default";
        Values = Enumerable.Range(1,3).ToArray();
    }

    public string Name { get; set; }
    public int[] Values { get; set; }
}

クラスのデフォルト インスタンスは、PropertyGridコントロール上で次のように表示されます。
PropertyGrid.SelectedObject = new SomeClass();

プロパティに表示されるテキストをオーバーライドして、の代わりに次のValuesようなものを表示することは可能ですか?1, 2, 3Int32[] Array



コントロールからのリフレクションと継承を含むソリューションPropertyGridは大歓迎です。

4

1 に答える 1

2

TypeConverterに属性を追加できると思いますValues

[TypeConverter(typeof(IntArrayToStringTypeConverter))]
public int[] Values { get; set; }

次に、ドキュメントIntArrayToStringTypeConverterに基づいて を作成します。あなたが望むことをする型コンバーターがすでに存在するかどうかはわかりません。

于 2013-02-05T12:01:02.537 に答える