2009-06-16 12 views
1

プロパティグリッドに追加のプロパティを表示するためにTypeDescriptor.CreatePropertyを使用してタイプにプロパティを追加しようとしていますが、この新しいプロパティは追加されず、TypeDescriptorプロパティを検査するための.GetPropertiesは、このプロパティは存在しません。TypeDescriptor.CreatePropertyはプロパティを追加しません

私には何かが見当たりませんか?これは私が覚えている限り、基本的でシンプルなシナリオです。

TypeDescriptor.CreateProperty(typeof(MovieMenuItem)、 "ExternalMediaLocation"、typeof(string)、null);

+1

どのように機能していないコードの例を投稿するのですか? – LukeH

答えて

3

CreatePropertyこのタイプの反射ベースのPropertyDescriptorが返されます(例:AddPropertyではありません)。ここのシナリオは何ですか? DataGridViewに余分なデータを表示する必要がある場合は、グリッドに余分な非バインド列を追加するだけです。 this answer

  • TypeDescriptionProviderを参照してください - - (リストの各インスタンスは異なる列を持つことができる場合)
    • ITypedList

      ができます:

      あなた、実行時に型を拡張することができますが、リストの次の2つの主要なオプションを持っていますタイプごとにカスタムプロパティを追加する(最終的には、最初の例と同じようにPropertyDescriptorを書きますが、フックは異なります)

    リストベースのメタデータを取得する方法の完全な規則は、this answer

  • +0

    PropertyGridコントロールを使用して編集したオブジェクトに追加したい – reshefm

    +0

    最後にコンポーネントモデルを使用した最後の時間から型の説明プロバイダが欠落しています。ありがとう! – reshefm

    関連する問題