在 PropertyGrid 的 Collection 编辑器中更改类型名称

Change the type name in Collection Editor in PropertyGrid

我在 class ManageConfig

中有一个 属性
public class ManageConfig
{
    [Category("Config")]
    [Description("Read and write specific")]
    [DisplayName("Camera Settings")]
    public List<Config> Configuration 
    {
        get;
        set;
    }
}

public class Config
{
    public string ConfigName { get;  set; }
    public string ConfigValue { get; set; }
}

当我在 属性 网格中打开 collection 时,我得到 window 我可以在其中添加或删除项目,项目名称是 class 名称配置,我希望在更改每个项目的 ConfigName 属性 时更改项目名称。

谢谢

您可以覆盖 Config class 的 ToString 方法来指定集合编辑器在项目列表的左侧面板中显示的内容:

public override string ToString()
{
    if(!string.IsNullOrEmpty(ConfigName))
        return ConfigName;
    return base.ToString();
}