Основы проектирования интерфейсов с использованием технологии Windows Presentation Foundation. Шамшев Ан. Б. - 33 стр.

UptoLike

Составители: 

33
<GradientStopOffset="0.50"Color="Indigo"/>
<GradientStopOffset="1.00"Color="Violet"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Grid.Background>
</Grid>
2.4.3. Расширения разметки
Для большинства свойств синтаксис свойств XAML работает
исключительно хорошо. Но в некоторых случаях просто невозможно
жестко закодировать значение свойства. Например, можно установить
значение свойства в уже существующий объект. Или же требуется ус-
танавливать значение свойства динамически, привязывая его к свой-
ству в другом элементе управления. В обоих таких случаях нужно ис-
пользовать расширение разметки (markup extension) – специализиро-
ванный синтаксис, устанавливающий свойство нестандартным образом.
Расширения разметки могут применяться во вложенных деск-
рипторах или атрибутах XML, что встречается чаще. Когда они ис-
пользуются в атрибутах, то всегда окружаются фигурными скобками
{}. Например, следующим образомможно использовать
StaticExtension, позволяющее сослаться на статическое свойство дру-
гого класса:
<ButtonForeground="{x:StaticSystemCo
lors.ActiveCaptionBrush}">
Расширения разметки используют синтаксис {КлассРасшире-
нияРазметки Аргумент}. В этом случае расширением разметки слу-
жит класс StaticExtension. Префикс х: указывает на то, что StaticExten-
sion находится в одном из пространств имен XAML. Также встреча-
ются расширения разметки, являющиеся частью пространств имен
WPF, но не имеющие префикса х:.
Все расширения разметки реализованы классами, производными
от System.Windows.Markup.MarkupExtension. Базовый класс Marku-