1

我有一个名为 的类,BasePath其中包含Drive和属性。此外,我创建了一个在 PropertyGrid(可扩展)中显示它们。PathMetaNameBasePathCollection

要添加路径,您必须单击“三个点按钮”,在该按钮中您会看到另一个 PropertyGrid,您可以在其中看到左侧的“BasePathCollection”的所有项目和右侧的项目属性。

在此处输入图像描述

BasePath属性是[ReadOnly(true)]我可以通过单击另一个“三点按钮”来编辑路径:

在此处输入图像描述

但是现在我需要使MetaName属性可编辑和繁荣,突然我无法编辑路径。“三点按钮”不再可用:

在此处输入图像描述

为了让“三点按钮”恢复并仍然能够编辑MetaName属性,我需要更改什么?

编辑:属性声明:

您的 MetaName 属性是如何声明的?请给我们看一些代码。– 西蒙·穆里埃 1 小时前

    private string m_metaName;

    [Browsable(true)]
    [ReadOnly(true)]
    public string Drive { get { return m_drive; } set { m_drive = value; } }

    [Browsable(true)]
    [ReadOnly(true)]
    public string Path { get { Clear(); return m_path; } set { m_path = value; Clear(); } }

    [Browsable(true)]
    [ReadOnly(true)]
    public string MetaName { get { return m_metaName; } set { m_metaName = value; } }

是的,在缺乏知识的情况下,我尝试为 BasePath-Class 设置以下属性以使其可编辑。

[TypeConverter(typeof(BasePathConverter))]
[Editor(typeof(FolderNameEditorWithRootFolder), typeof(System.Drawing.Design.UITypeEditor))]
public class BasePath : IComparable<BasePath>{ ... }
4

0 回答 0