2

別のコントロールのプロパティをプロパティ ウィンドウに表示するにはどうすればよいですか。たとえば、私が持っている場合

public class MyClass : UserControl
{
    public MyClass(){}
    public bool Visible{get;set}// Property of MyClass

    public MyProperties GridProp {get;set;}// Tried this but does not show the properties 
                                 //of MyProperties class

}

public class MyProperties
{
    public MyProperties() { }
    public bool Visible { get; set; }
    public Color Color { get; set; }
}

MyPropertiesのプロパティとともに表示されるプロパティを取得するにはどうすればよいMyClassですか?

4

1 に答える 1

2

プロパティを VS プロパティ ウィンドウに表示する場合は、qestion でプロパティにいくつかの属性を追加する必要があります。

public class MyControl : Control
{
    public MyControl()
    {
        MyObject = new MyObject();
    }

    [Category("MyControl")]
    [Description("My Property Description")]
    [TypeConverterAttribute(typeof(ExpandableObjectConverter))]
    public MyObject MyObject { get; set; }
}


public class MyObject
{
    public string MyProperty { get; set; }
}

ExpandableObjectConverter Typeconverter でカスタム オブジェクトを装飾する必要があります。これにより、クラスのプロパティが表示されます。

ここに画像の説明を入力

表示名、カテゴリ、およびデフォルト値などを設定する属性があります。詳細については、http: //msdn.microsoft.com/en-us/library/aa302326.aspxを参照してください。

于 2012-11-25T22:42:01.307 に答える