Главная » Разработка для Windows Phone 7 » Мозаичные кисти, не создающие мозаики

0

В данной книге уже были представлены примеры SolidColorBrush, LinearGradientBrush и RadialGradientBrush. Рассмотрим полную иерархию потомков класса Brush:

Object

DependencyObject (абстрактный) Brush (абстрактный)

SolidColorBrush (запечатанный[10]) GradientBrush (абстрактный)

LinearGradientBrush (запечатанный) RadialGradientBrush (запечатанный) TileBrush (абстрактный)

ImageBrush (запечатанный) VideoBrush (запечатанный) ImplicitInputBrush (запечатанный)

Но Windows Phone 7 поддерживает еще одну кисть, ImageBrush (Кисть изображения), и, хотя этот класс наследуется от TileBrush (Мозаичная кисть), с его помощью невозможно создать мозаичный шаблон. (Это можно сделать в Windows Presentation Foundation, и, вероятно, когда-нибудь станет реальным и в Silverlight.) По сути, ImageBrush позволяет задавать для

растрового изображения любое свойство типа Brush. Вернемся к ImageExperiment, но вместо элемента Image применим ImageBrush для свойства Background сетки для содержимого.

<Grid x:Name="ContentGrid" Grid.Row="1" Margin="12,0,12,0"> <Grid.Background>

<ImageBrush ImageSource="Images/BuzzAldrinOnTheMoon.png" /> </Grid.Background> </Grid>

Как и Image, TileBrush определяет свойство Stretch, но его значением по умолчанию является Fill, поэтому изображение заполняет область без сохранения пропорций.

Источник: Чарльз Петзольд, Программируем Windows Phone 7, Microsoft Press, © 2011.

По теме:

  • Комментарии