我试图更改集合属性在Winforms PropertyGrid中显示的方式。
而不是拥有
MyList | (Collection) [...]
并且必须按下按钮以显示CollectionEditor。
我正在将List扩展为ExpandableObjectConverter。但是,我仍然得到[...]按钮。所以现在看起来像这样。
[+] MyList | (2 Items) [...]
Item 1 | Value
Item 2 | Value
最终,我想将其替换为“添加”按钮。我只是不知道从哪里开始。如果我理解正确,则当我按下[...]时,将显示CollectionEditor窗口。那我需要重写什么对象才能删除和添加自己的按钮。
谢谢
最佳答案
从CollectionEditor
继承一个新类,并覆盖GetEditStyle
以返回None
以防止显示“ ...”按钮。
同样不幸的是,您无法使用标准propertygrid添加Add
按钮。您可以选择“ ...”,向下箭头或无按钮。
class CustomEditor : CollectionEditor
{
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.None;
}
}
您可以使用以下属性将此新编辑器应用于属性:
[EditorAttribute(typeof(CustomEditor), typeof(UITypeEditor))]
关于c# - 从PropertyGrid集合属性中删除“…”按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13870268/