我之前看到过类似的问题,但不完全是我所追求的。
我有一个用户控件,并希望构建一组可扩展的属性,以便在设计时编辑控件。请注意,不是一组属性,而是类似于大小或位置属性的属性列表,您可以打开这些属性以显示其他属性。这是可能的,我将如何去做?
谢谢,
我之前看到过类似的问题,但不完全是我所追求的。
我有一个用户控件,并希望构建一组可扩展的属性,以便在设计时编辑控件。请注意,不是一组属性,而是类似于大小或位置属性的属性列表,您可以打开这些属性以显示其他属性。这是可能的,我将如何去做?
谢谢,
您需要将您的属性“分组”到一个类中,然后应用 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来处理自定义情况。