PropertyGrid
にオブジェクトタイプをどのように表示するかをカスタマイズするには、ICustomTypeDescriptor
を実装します。キーと値の単一の辞書に格納されている独自のカスタムプロパティをユーザーが作成できるようにしています。これらの値のすべてをPropertyDescriptors
に作成し、プロパティグリッドで表示することができます。しかし、PropertyGrid
が私のオーバーライドICustomTypeDescriptor.GetProperties
メソッドではなくリフレクションによって設定されていた場合、それ以外の場合に表示されるデフォルトプロパティもすべて表示したいと考えています。タイプのデフォルトのPropertyDescriptorsを取得
オブジェクトの型を取得する方法を知っていて、次にGetProperties()
を取得しましたが、PropertyInfo
ではなくProperyDescriptor
の配列が返されます。では、タイプPropertyInfo
のオブジェクトをPropertyDescriptor
オブジェクトに変換して、自分のコレクションにカスタムPropertyDescriptors
を含めるにはどうすればよいですか?余談として
//gets the local intrinsic properties of the object
Type thisType = this.GetType();
PropertyInfo[] thisProps = thisType.GetProperties();
//this line obviously doesn't work because the propertydescriptor
//collection needs an array of PropertyDescriptors not PropertyInfo
PropertyDescriptorCollection propCOl =
new PropertyDescriptorCollection(thisProps);
本当にありがとうございました! – Ross