2

我知道这很愚蠢,但 Visual Studio (2010) 不会使我标记为 ReadOnlyAttribute 的属性变灰,我无法编辑它们的值(如果我尝试这样做,只需返回到以前的值),但它们没有变灰out,我觉得用编辑器的时候这个真的很无聊

有没有我忘记的选项或属性?

谢谢你的帮助

示例 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; }

初始化不灰显

4

2 回答 2

0

此行为是设计使然。

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

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

于 2011-01-04T23:39:21.500 回答
0

拥有这种行为的唯一方法是没有 setter,可能是因为设计者将私有字段视为他可以访问的东西,因此它不会变灰。

于 2011-07-21T09:11:04.047 回答