ВУЗ:
Составители:
Рубрика:
34
pExtension очень прост – он включает единственный метод
ProvideValue(), получающий требуемое значение. Другими словами,
когда анализатор XAML встречает показанный выше оператор, он
создает экземпляр класса StaticExtension, а затем вызывает
ProvideValue(), чтобы получить объект, возвращенный статическим
свойством SystemColors.ActiveCaption.Brush. Свойство Foreground
кнопки cmdAnswer затем устанавливается равным извлеченному объекту.
Конечный результат этого фрагмента XAML-кода эквивалентен
тому, как если бы было написано следующее:
cmdAnswer.Foreground=SystemColors.ActiveCaptionBrush;
Поскольку расширения разметки отображаются на классы, они
могут также применяться в виде вложенных свойств. Например, мож-
но использовать StaticExtension со свойством Button.Foreground сле-
дующим образом:
<Button>
<Button.Foreground>
<x:StaticMember="SystemColors.ActiveCaptionBrush">
</x:Static>
</Button.Foreground>
</Button>
Как большинство расширений разметки, StaticExtension должен
вычисляться во время выполнения, потому что только тогда можно
определить текущие системные цвета. Некоторые расширения раз-
метки могут определяться во время компиляции. К ним относятся
NullExtension (представляющее значение null) и TypeExtension (кон-
струирующее объект, представляющий тип .NET). Расширения раз-
метки часто используются при привязке данных и при использовании
ресурсов.
2.4.4. Прикрепленные свойства
Наряду с обычными свойствами XAML также включает концеп-
цию прикрепленных свойств – свойств, которые могут применяться к
Страницы
- « первая
- ‹ предыдущая
- …
- 32
- 33
- 34
- 35
- 36
- …
- следующая ›
- последняя »