Главная » Разработка для Windows Phone 7 » Градиент Windows Phone 7

0

Предположим, в приложении решено использовать выбранный пользователем контрастный цвет для градиентной кисти. То есть вы не собираетесь менять оттенок, но хотите сделать его ярче или темнее. Сделать это в коде довольно легко: просто варьируем красным, зеленым и синим компонентами цвета.

Но и в XAML реализовать это не составляет труда, что демонстрирует проект GradientAccent: Проект Silverlight: GradientAccent Файл: MainPage.xaml (фрагмент)

<Grid x:Name="ContentPanel" Grid.Row=M1" Margin=M12,0,12,0"> <Grid.Background>

<LinearGradientBrush StartPoint="0 0" EndPoint="0 1"> <GradientStop 0ffset="0M Color=MWhite" />

<GradientStop 0ffset="0.5" Color="{StaticResource PhoneAccentColor}" /> <GradientStop 0ffset="1" Color="Black" /> </LinearGradientBrush> </Grid.Background> </Grid>

Вот как это выглядит на экране:

Изменяя смещения градиента, можно создать более плавный переход. Значения смещений, на самом деле, могут выходить за рамки диапазона от 0 до 1, как это показано в данном фрагменте:

<LinearGradientBrush StartPoint="0 0" EndPoint="1 0"> <GradientStop 0ffset="-1" Color="White" />

<GradientStop 0ffset="0.5" Color="{StaticResource PhoneAccentColor}" /> <GradientStop 0ffset="2" Color="Black" /> </LinearGradientBrush>

Теперь градиент распространяется от белого (White) в точке со смещением -1 до контрастного цвета в точке со смещением 0,5 и переходит в черный (Black) в точке со смещением 2. Но на экране отображается лишь часть градиента между точками со смещениями 0 и 1, поэтому мы не видим белой и черной границ:

Это всего лишь еще один пример того, что XAML обладает намного большей мощью, чем это может показаться на первый взгляд.

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

По теме:

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