Как сделать разнонаправленный градиент в WPF? - PullRequest
0 голосов
/ 01 декабря 2018

В настоящее время в XAML настроен градиент следующим образом:

<Canvas>
    <Canvas.Background>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="Black" Offset="0"/>
            <GradientStop Color="Red" Offset="0.5"/>
            <GradientStop Color="White" Offset="1"/>
        </LinearGradientBrush>
    </Canvas.Background>
</Canvas>

Результат:

enter image description here

Однако этоэто не то, чего я хочу достичь.Что я хочу, так это сделать один градиентный переход к сплошному цвету.Вот то, чего я пытаюсь достичь:

enter image description here

Как видно из рисунка выше, вверху есть бело-красный градиент,и это плавно переходит в черный цвет, когда он идет внизЯ еще не нашел способ сделать это, и здесь мне нужна помощь.Есть ли способ сделать это?Если есть, какой лучший способ достичь этого (о чем вы знаете)?

1 Ответ

0 голосов
/ 01 декабря 2018

Вы можете наложить второй элемент перпендикулярно LinearGradientBrush, который изменяет непрозрачность:

<Grid>
    <Canvas>
        <Canvas.Background>
            <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
                <GradientStop Color="White" Offset="0"/>
                <GradientStop Color="Red" Offset="1"/>
            </LinearGradientBrush>
        </Canvas.Background>
    </Canvas>
    <Canvas>
        <Canvas.Background>
            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                <GradientStop Color="#00000000" Offset="0"/>
                <GradientStop Color="Black" Offset="1"/>
            </LinearGradientBrush>
        </Canvas.Background>
    </Canvas>
</Grid>
...