ВПФ:Как установить смещение для PolyLine
Вопрос
У меня есть 3 полилинии с одинаковой геометрией.
Я хотел бы установить смещение для двух из них, чтобы они располагались рядом друг с другом.
Как мне это сделать?
спасибо.
Решение
Это зависит от контейнера, который вы используете.Если вы используете сетку (без строк и столбцов) или холст, они располагаются прямо друг над другом.Вы можете разделить их с помощью полей (сетка) или слева/сверху (холст).
Или используйте другую панель, например Stackpanel, которая автоматически расположит их рядом друг с другом.
Редактировать:В комментариях мы разработали идею использования LinearGradientBrush для окраски одной геометрии, например:
<Polyline StrokeThickness="20" Points="30,250 200,250">
<Polyline.Stroke>
<LinearGradientBrush StartPoint="30,200" EndPoint="30,250" MappingMode="Absolute">
<GradientStop Color="Red" Offset="1" />
<GradientStop Color="Red" Offset="0.66" />
<GradientStop Color="Yellow" Offset="0.66" />
<GradientStop Color="Yellow" Offset="0.33" />
<GradientStop Color="Green" Offset="0.33" />
<GradientStop Color="Green" Offset="0" />
</LinearGradientBrush>
</Polyline.Stroke>
Другие советы
Я думаю, что я понял, что ваша точная потребность: вы хотите нарисовать полилинии, как на дорожной карте, где несколько строк следуют на одном и том же пути, но всегда держите одинаковое расстояние между ними.
Это гораздо более сложная проблема. Существует отличная статья Key Johnson, где он создает геометрические визуальные кисти: Укладка кисти геометрии завод.
Пример того, что ему удается сделать:
Вы должны объяснить, в каком контейнере устанавливаются ваши полилинии. В целом я бы использовал рендерТрансформ.