Visual Studio不会使用ReadOnlyAttribute(true)使属性变灰

时间:2011-01-04 23:33:42

标签: c# visual-studio-2010 properties readonly-attribute

我知道这很愚蠢,但是visual studio(2010)并没有使用ReadOnlyAttribute标记我的属性,我无法编辑它们的值(如果我尝试这样做,只需返回前一个值),但它们不是在使用编辑器

时,我觉得这很无聊

是否有我忘记的选项或属性?

感谢您的帮助

示例1:

    /// <summary>
    /// Inform if the LcdDisplay has been already initiated
    /// </summary>
    [Description("Inform if the LcdDisplay has been already initiated")]
    [DefaultValue(false)]
    [ReadOnly(true)]
    public bool Initialized { get; private set; }

已初始化未显示为灰色

2 个答案:

答案 0 :(得分:0)

此行为是设计使然。

要使属性变灰,请删除setter。 (或将其私有化)

如果您只想在设计时只读它,您可以创建一个单独的可写属性并添加[Browsable(false)]以将其从属性网格中隐藏。

答案 1 :(得分:0)

获得此行为的唯一方法是不要设置setter ,可能是因为设计人员将私有字段视为他可以访问的内容,因此不会使其变灰。