Какие типы свойств могут быть установлены непосредственно в декларативной разметке (как атрибуты)? - PullRequest
1 голос
/ 16 июня 2011

Я понимаю, что всякий раз, когда вы создаете свойство для пользовательского элемента управления, вы можете установить значение свойства с помощью декларативного синтаксиса, чтобы вы могли получить что-то вроде этого:

<uc1:MyControl id="MyControl1" runat="server" Text="Hello" Number="10" Access="ReadWrite" />

Эти атрибуты устанавливают значение для свойств типа:

  • Текст - это строка
  • Число является целым числом
  • Доступ - Enum

Я не смог бы установить открытое свойство типа "Массив" или "Контроль" в декларативной разметке. (или я могу?)

Мой вопрос:

Каков полный список типов, которые можно установить непосредственно с декларативным синтаксисом в качестве атрибутов в элементе управления?

1 Ответ

1 голос
/ 23 апреля 2012

Хорошо, через некоторое время, когда этот вопрос так и не был решен, наконец-то я нашел официальный ответ в этой статье в библиотеке MSDN .

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

"Простое свойство - это свойство, тип которого является строкой или типом, который отображается легко в строку. Простое свойство сохраняется как Атрибут на открывающий тег элемента управления без каких-либо работ с вашей стороны. Свойства типа String и примитивных типов значений в .NET Библиотека классов инфраструктуры, такая как Boolean, Int16, Int32 и Enum простые свойства. «

Итак, у меня был почти полный список в моем вопросе. Свойства, которые могут быть установлены непосредственно с декларативным синтаксисом (как атрибуты), должны быть следующих типов:

  • Строка
  • Boolean
  • Int16
  • Int32
  • Enum
...