在Visual Studio中分组自定义设计时属性

时间:2012-10-02 15:05:59

标签: c# visual-studio-2010 properties design-time

我之前看过类似的问题,但不完全是我追求的。

我有一个用户控件,并希望在设计时构建一组可扩展的属性来编辑控件。请注意,不是一组属性,而是一个类似于“大小”或“位置”属性的属性列表,您可以打开这些属性以显示其他属性。这有可能,我该怎么做呢?

谢谢,

1 个答案:

答案 0 :(得分:4)

您需要将属性“分组”到一个类中,然后应用TypeConverter:

[TypeConverter(typeof(ExpandableObjectConverter))]
public class MyProperties {
  public string Item1 { get; set; }
  public string Item2 { get; set; }
}

然后您的UserControl将使用该类而不是它包含的各个属性:

public partial class UserControl1 {

  public UserControl1() {
    InitializeComponent();
    MyProperties = new MyProperties();
  }

  public MyProperties MyProperties { get; set; }
}

创建自己的TypeConverter来处理自定义环境。