0

DesignerSerializationVisibility(Content) を使用して、vb.net デザイナーでアイテムのコレクションを公開することに成功しました。今、私は新しいひねりを加えています。特定のカスタム コントロールのコレクション内のアイテムは不変です。つまり、アイテムを追加したり削除したりすることはできません。私が望むのは、デザイナーのプロパティ パネルでコレクションのアイテムを公開して、開発者が事前定義されたアイテムのコレクション内の各アイテムの個々のプロパティを微調整できるようにすることだけです。

DesignerSerializationVisibility(Content) を試したところ、開発者はアイテムを管理できますが、既存のアイテムを編集するのではなく、アイテムをコレクションに再度追加しようとするため、キーの競合が発生します。

その結果、コレクションの各項目を独自のプロパティとして公開することが理にかなっている可能性があると考えました。DesignerSerializationVisiblity(Visible) と (Content) を使用し、両方ともプロパティ ウィンドウに型名を表示するだけですが、公開するオブジェクトは、プロパティを操作できるようには表示されません。

何か足りないのですか、それともできませんか? TypeConverter の使用についてどこかで読みました。これは正しいですか?

4

1 に答える 1

0

私があなたの質問を正しく理解していれば、プロパティを複数のサブプロパティを持つ展開可能なプロパティに変更したいと考えています。

私の理解が正しければ、ExpandableObjectConverterから派生したクラスを作成する必要があります。そして、このクラスをTypeConverterAttributeと共に使用して、プロパティまたはプロパティに関連するクラスを使用します。

詳細については、以下のリンクが提供されているという私の質問を参照してください。

プロパティ グリッドのフォント プロパティの「…」ボタンのように、展開可能なプロパティの省略記号 (…) ボタンを非表示にします

于 2012-10-24T08:26:05.143 に答える