#silverlight #xaml #gradient #polygon #shapes
#silverlight #xaml #градиент #полигон #фигуры
Вопрос:
В настоящее время я пытаюсь нарисовать полигон, а затем заполнить его градиентом. Проблема в том, что градиент использует верхнюю часть фигуры как вверх, поэтому он наклоняется. Вот некоторый xaml, который создаст то, о чем я говорю.
<Polygon Points="0,20 0,20 100,0 100,20">
<Polygon.Fill>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,1">
<GradientStop Color="White" Offset="0" />
<GradientStop Color="White" Offset="0.5" />
<GradientStop Color="Black" Offset="0.5" />
</LinearGradientBrush>
</Polygon.Fill>
</Polygon>
Этот код является хорошим примером, потому что он разделит цвета на отметке 50% с белым слева и черным справа. Вы можете видеть, что линия среза наклонена к вершине треугольника. Вот также картинка на случай, если вы не можете попробовать код.
Есть ли способ сделать так, чтобы это был вертикальный срез, а не наклонный?
Ответ №1:
Вам нужно будет изменить начальную и конечную точки:
<... StartPoint="0,0.5" EndPoint="1,0.5" >
Приведенное выше переводится как «начинать в середине слева, заканчивать в середине справа».
Прямо сейчас ваши точки говорят «начинаются в правом верхнем углу и заканчиваются в левом нижнем углу».
Поэтому нам, вероятно, следует поменять его местами, вот так:
<... StartPoint="1,0.5" EndPoint="0,0.5" >
Для справки и даже других примеров, демонстрирующих ваши требования, смотрите здесь.
Комментарии:
1. Спасибо, я идиот. Обычно я не устанавливаю начало и конец градиента вручную. Здесь я думаю, что это как-то связано с треугольником, и я совершенно упускаю из виду, что это может быть градиент.