我之前看过类似的问题,但不完全是我追求的。
我有一个用户控件,并希望在设计时构建一组可扩展的属性来编辑控件。请注意,不是一组属性,而是一个类似于“大小”或“位置”属性的属性列表,您可以打开这些属性以显示其他属性。这有可能,我该怎么做呢?
谢谢,
答案 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来处理自定义环境。