【发布时间】:2016-06-01 17:29:44
【问题描述】:
请先阅读整个问题以了解在哪里我可以重置属性的默认值。
当定义一个可以可视化设计的自定义类时,可以实现一个集合编辑器来修改列表、数组、集合等属性,使用以下模式:
[Editor(typeof(CollectionEditor), typeof(UITypeEditor)),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ElementCollection Elements
{
get;
}
编辑此类的Elements 属性现在将启动一个CollectionEditor 对话框,左侧是成员列表,右侧是PropertyGrid。
问题是,该属性网格的上下文菜单似乎已禁用。因此,我无法右键单击属性以将其值“重置”为默认值,尽管有 [DefaultValue]属性定义。
然而,DefaultValue 属性已被识别,因为该属性未序列化(并且在网格中以非粗体文本正确显示)。
我想知道如何通过CollectionEditor 对话框在PropertyGrid 上启用此上下文菜单:
或者,任何可以实现重置这些集合项属性的方式(热键,等)。
【问题讨论】:
标签: c# .net winforms windows-forms-designer propertygrid