Стилизация элементов управления в WinFx

стили могут также применяться для

Стили позволяют вам декларативно определять, каким будет содержание некоторого элемента WinFx. Стили могут также применяться для динамического изменения содержания элемента во время выполнения. Используя стили, вы можете устанавливать такие свойства, как цвета фона, шрифты и т. п. Но при помощи стилей можно также динамически вводить дочерние элементы в содержание другого элемента. Стиль по существу задает шаблон, который может применяться к элементу управления или к его содержанию.

Стили, подобно контекстам данных, передаются вниз по дереву элементов. И это замечательно, поскольку оказывается, что вам больше не нужно снова и снова применять одно и то же свойство к коллекции элементов управления, чтобы заставить их выглядеть или вести себя одинаково. Вы просто применяете стиль к тому элементу управления, что расположен на более высоком уровне в дереве элементов и в котором «обитают» элементы управления из коллекции, и все они автоматически воспримут этот стиль. Вы можете также явным образом устанавливать для элемента именованный экземпляр стиля, если последний определяет атрибут Key. Возьмем случай элемента управления TextBlock. Допустим, у вас имеется набор из трех элементов управления TextBlock, И вы хотите, чтобы все они имели светло-синий фон и шрифт Comic Sans в 14 пунктов. Вместо того, чтобы устанавливать свойства Font И Background Для каждого из трех этих элементов управления, как это делалось бы в Windows Forms, вы можете просто определить на уровне окна или сетки стиль, который содержит установки стиля для текстовых блоков, и все дочерние элементы управления ниже уровня, определяющего стиль, воспримут любые задаваемые в нем установки свойств и содержание. Вы можете также определить для TextBlock Или другого элемента управления стиль с атрибутом Key, А затем использовать его для явной установки стиля одного или нескольких элементов управления, так что вам не нужно будет устанавливать все необходимые свойства по одному.

Ниже приведен код XAML, который проделывает подобную процедуру для окна с тремя текстовыми блоками в сетке. В нем используется каскадная передача стиля для текстовых блоков от окна к двум элементам управления, а для третьего текстового блока явно устанавливается другой стиль, идентифицируемый ключом.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *