Практическое руководство. Программная установка стилей серверных элементов управления ASP.NET
Обновлен: Ноябрь 2007
Свойства стилей могут быть заданы программными средствами, что позволяет условно изменять внешний вид серверных элементов управления ASP.NET.
Настройка свойств стиля с помощью программных средств
Пользуйтесь следующим иерархическим соглашением для определения объекта и свойства стиля, которые необходимо задать:
Control.StyleObject.Property = value
Control.StyleObject.Property = value;
В следующем примере кода показано, как задать значение свойства BackColor для объекта DayStyle в элементе управления Calendar:
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green;
Также можно создать отдельный объект Style и копировать или объединять значения его свойств с одним из стилей элемента управления. Это мощный инструмент применения одних и тех же стилей к нескольким различным объектам списка в проекте. В сущности, можно создать виртуальную таблицу стилей как объект Style и применить ее к серии элементов управления.
Создание объекта стиля и его применение к элементам управления
Создайте экземпляр объекта Style и установите его свойства, как показано в примере ниже:
Dim s As Style = New Style() s.BackColor = System.Drawing.Color.Red
Style s = new Style(); s.BackColor = System.Drawing.Color.Red;
Присвойте объект Style элементу управления с помощью одного из следующих методов:
Метод CopyFrom применяет все параметры из объекта Style, в том числе нулевые значения.
Метод MergeWith копирует только свойства, уже установленные в объекте Style, пропуская свойства Style, которые не были установлены. Также метод MergeWith не перезаписывает никакие существующие элементы стиля.
Следующий пример демонстрирует, как можно создать объект Style, задать одно из его свойств и применить его к двум различным объектам стиля элементов управления с помощью каждого из описанных методов:
' Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s) ' Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s)
// Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s); // Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s);