Присвойте DisplayName и Description свойству пользовательского элемента управления - PullRequest
0 голосов
/ 04 января 2019

Атрибуты DisplayName и Description игнорируются для моих свойств пользовательского элемента управления, но не для категории.
Почти такой же вопрос, как это , за исключением того, что в моем случае предложенные ответы не работают.

Мой код:

[DisplayName("Custom String"),
  Category("Custom Properties"),
  Description("String to display.")]
public string CustomString
{
    get { return customString; }
    set { customString = value; }
}
private string customString;

Окно свойств, показывающее, что работает только атрибут категории.

РЕДАКТИРОВАТЬ2 --------------------

Различный проект веб-форм, новый пользовательский элемент управления, созданный с нуля с одинаковым кодом (разные значения). Те же результаты, что и раньше, применяется только Категория.

public partial class AttributedUserControl : System.Web.UI.UserControl
{
    [DisplayName("New Control Text"),
    Category("New control Properties"),
    Description("Text to show inside the user control.")]
    public string TextString
    {
        get { return _TextString; }
        set { _TextString = value; }
    }
    private string _TextString;
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

  • Visual Studio Professional 2015 - версия 14.0.25431.01, обновление 3
  • .NET Framework 4.7.03056

1 Ответ

0 голосов
/ 08 января 2019

Вы нашли ошибку. Я создал серверный и пользовательский элементы управления с помощью Visual Studio 2017 и обнаружил, что System.ComponentModel.DescriptionAttribiute (т.е. [Description("My Description")]) не работает. Я также обнаружил, что System.ComponentModel.DisplayName (т.е. [DisplayName("My Description")]) не работает. Когда я говорю «не работает», я имею в виду, что сетка свойств не отображает описание в нижней части окна сетки свойств, как это должно быть. Независимо от того, что вы указали в качестве атрибута Description, в области описания сетки свойств будет отображаться только сама строка имени свойства.

Я предлагаю опубликовать эту проблему в Microsoft. Это очень расстраивает, но вы не делаете ничего плохого. У меня большой опыт написания элементов управления и дизайнеров Winforms, и эти атрибуты работают в пространстве Winforms.

FWIW, другие атрибуты, такие как [DefaultValue("Test")], работают просто отлично.

Хотел бы я сообщить о лучших новостях. Вы можете принять этот ответ или попытаться получить награду за этот вопрос, если вы имеете на это право. В противном случае, я приглашаю других экспертов для взвешивания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...