我有一个有Rods列表的控件。 Rods有一些公共场所:
public class Rod
{
float Angle { get; set; }
Color MainColour { get; set; }
int Length { get; set; }
int Width { get; set; }
//other private code here you need not be concerned with ;)
}
在托管Rods的控件中,列表声明为:
public List<Rod> Rods { get; set; }
我希望能够选择RodsHost控件并单击“Rods”属性页面,然后通过Forms Designer GUI编辑该控件上的Rods。目前,我可以将Rods添加到列表中,但不能编辑Rod的属性(Angle,MainColour等等)。我尝试将属性[DesignTimeVisible(true)]
应用于Rods类,这似乎不起作用。我想也许我应该使用Designer属性,但我不确定我需要哪个Designer类。有人有建议吗?
答案 0 :(得分:1)
我不知道这是否会帮助你,但我所做的是创建一个 userControl ,并在其中创建属性为get set。然后,属性会自动显示在可视IDE中的“属性”窗格中。
答案 1 :(得分:1)
看起来我需要将列表装饰为:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
以及添加构造函数以设置一些适当的默认值。