1

wpf で標準の UserControl または CustomControl を作成し、複合型のプロパティを宣言するとします。

public ComplexPropertyType AProperty { get; 設定; }

複合型は、多数のプロパティを持つ単純なクラスです

public class ComplexPropertyType 
{
    public int IntP { get; set; }

    public String Strp { get; set; }
}

設計時には、AProperty は編集できません。

ご覧のとおり、AProperty プロパティは編集できません

標準のプロパティ エディタを使用してそのプロパティを編集可能にするように指定できる System.ComponentModel の属性があることは覚えていますが、思い出せません。

カスタム プロパティ エディターを作成する必要がないことが明らかなソリューションをお持ちの方はいますか? 結局のところ、コントロールで複合型 Es のコレクションであるプロパティを宣言するとします。

public ObservableCollection ACollOfProperty { get; 設定; }

デザイナーは、複雑な型を編集できる System.ComponentModel.Design.CollectionEditor を自動的に使用します。

ここに画像の説明を入力

前もって感謝します。

4

2 に答える 2

0

TypeConverter である属性を自分で見つけることができました。ExpandableObjectconverter を指定する TypeConverterAttribute を使用して、ユーザー コントロールでプロパティを宣言する必要があります。

    [TypeConverter(typeof(ExpandableObjectConverter))]
    public ComplexPropertyType AProperty { get; set; }

これで、設計時に値を入力できる便利な NEW ボタンがデザイナーに表示されるはずです。

プロパティをデザインできるようになりました

new を押すと、ComplexPropertyType のインスタンスが作成されるため、デザイナーから直接編集できます。

VS での複合型編集

アルク。

于 2012-10-23T07:30:48.143 に答える
0

wpf では、このhttp://wpg.codeplex.com/を使用するか、この winform コントロールを使用できます

于 2012-10-22T19:03:33.310 に答える