Вопрос

У меня есть 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, где он создает геометрические визуальные кисти: Укладка кисти геометрии завод.

Пример того, что ему удается сделать:alt text

Вы должны объяснить, в каком контейнере устанавливаются ваши полилинии. В целом я бы использовал рендерТрансформ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top