Добавление нового типа свойств в текстовом описателе
Новый тип свойств можно добавить с помощью серверного расширения (см. Добавление нового свойства элементов управления) или описать непосредственно в текстовом описателе элемента управления.
Добавление нового типа свойства
-
Добавьте дочерний элемент
Propertyв секциюPropertiesтекстового описателя. -
Добавьте в элемент
Propertyаргументы:- Name
-
Название нового типа свойств.
- DataType
-
Тип значения свойств. В
DataTypeможет быть указан только стандартный тип — должно быть указано полное название типа (например,System.Boolean). - ResourceKey
-
Название локализованного ресурса для отображаемого названия.
- Category
-
Категория свойства. Может иметь значения:
GeneralCategory,DataCategory,BehaviorCategory,AppearanceCategory,EventsCategory,DefaultValueCategory. - Editor
-
Имя редактора значения, которое указано при его регистрации в методе GetEditors расширения программы Конструктор Web-разметок.
- BindingConverter
-
Имя конвертера в серверном расширении для свойства
Type="Binding". - BindingResolver
-
Имя резолвера биндинга в серверном расширении для свойства
Type="Binding". - ItemsSource
-
Варианты значений свойства, которые будут отображаться в виде раскрывающегося списка.
В значении атрибута должно быть указано полное имя типа класса, реализующего интерфейс
IItemsSource(см. ниже). - DefaultValue
-
Значение по умолчанию.
- DeviceDependent
-
Флаг, указывающий на то, что значение свойства зависит от типа клиентского устройства.
- Localized
-
Флаг, указывающий на то, что свойство является локализуемым.
Примеры объявления свойств
-
Свойство, получающее значения из источника значений (
ItemsSource):<Property Name="SuperMode" DisplayName="Супер свойство с вариантами" Category="AppearanceCategory" DataType="System.Int32" DefaultValue="0" ItemsSource="SuperExtension.SuperVariantsSource" />Пример реализации класса
SuperExtension.SuperVariantsSource, предоставляющего значения для свойства:namespace SuperExtension { public class SuperVariantsSource : IItemsSource { public ItemCollection GetValues() { ItemCollection values = new ItemCollection(); values.Add(0, "Вариант 1"); (1) values.Add(1, "Вариант 2"); (2) values.Add(2, Resource.LocalizedVariant3); (3) return values; } } }1 При выборе этого варианта, значение свойства будет 0. 2 При этом варианте, значение 1. 3 Имя варианта можно объявить в ресурсах с целью локализации. -
Свойство логического типа, зависящее от устройства (
DeviceDependent), с категориейВнешний вид(AppearanceCategory) и значением по умолчанию false:<Property Name="ShowPreview" ResourceKey="History_ShowPreview" Category="AppearanceCategory" DataType="System.Boolean" DefaultValue="false" DeviceDependent="true" /> -
Свойство числового типа с категорией
Поведение(BehaviorCategory) и значением по умолчанию20:<Property Name="RecordsOnPage" Editor="PositiveIntegerEditor" Category="BehaviorCategory" DataType="System.Int32" DefaultValue="20"/> -
Свойство строкового типа:
<Property Name="DurationControlName" Category="BehaviorCategory" DataType="System.String"/> -
Локализованное свойство (
Localized) строкового типа со стандартным редактором (Editor)LocalizedPropertyEditor:<Property Name="ButtonText" Editor="LocalizedPropertyEditor" Localized="true" Category="AppearanceCategory" DataType="System.String"/>