Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > LinearGradientBrush


Автор: fromrus 5.6.2008, 15:39
Здравствуйте!
Нуна сделать так чтоб голубой и белый цвета повторялись через каждые 25 единиц,можно сделать так:
Код

<LinearGradientBrush  StartPoint="0,0" EndPoint="0,1">
                    <GradientStop Offset="0" Color="Blue"/>
                    <GradientStop Offset="0.25" Color="White"/>
<!-- Переписываем все тоже но изменяем Offset на 25-->
                </LinearGradientBrush>


Еще я прочитал,что можно без этот код заменить на SpreadMethod.???.Я правда какой не пробовал ниче не получилось-все тоже самое.Ни Reflect,ни Repeat не помогли?Что делать?

Автор: Kefir 7.6.2008, 08:31
Так. Насколько я понял - задача чередовать синий и белый каждые 25 единиц.
Делается всё очень просто.
Код

<Rectangle VerticalAlignment="Bottom" Height="55">
    <Rectangle.Fill>
        <LinearGradientBrush StartPoint="0,0" EndPoint="25,0" MappingMode="Absolute" SpreadMethod="Reflect">
            <GradientStop Color="#FF0068FF" Offset="0"/>
            <GradientStop Color="#FFFFFFFF" Offset="1"/>
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>

На примере прямоугольника. StartPoint и EndPoint задают направление градиенту (сейчас направление слева направо, ширина градиента - 25). MappingMode="Absolute" говорит о том, что, StartPoint и EndPoint - абсолютные значения в пикселях. Ну и для достижения того, что ты хочешь ставим спред - отражение.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)