Проведите пунктирную линию в WPF adorner

Я нашел несколько статей в сети относительно проведения пунктирной линии в WPF. Однако они, кажется, вращаются вокруг использования класса Строки, который является UIElement в WPF. Это проходит примерно так:

Line myLine = new Line();
DoubleCollection dashes = new DoubleCollection();
dashes.Add(2);
dashes.Add(2);
myLine.StrokeDashArray = dashes;

Теперь, я в Adorner, где у меня только есть доступ к Контексту Рисунка. Там, я более или менее уменьшаюсь до примитивов Рисунка, Кистей, Перьев, геометрии и т.д. Это больше походит на это:

var pen = new Pen(new SolidColorBrush(Color.FromRgb(200, 10, 20)), 2);
drawingContext.DrawLine(pen, point1, point2);

Я застреваю, как сделать пунктирную линию на этом уровне API. Я надеюсь, что это не до, "проводят маленькие линии один за другим", а скорее что-то еще, что я не видел...

11
задан Andrey Rubshtein 5 January 2012 в 09:44
поделиться

1 ответ

Посмотрите на свойство Pen.DashStyle . Вы можете либо использовать члены класса DashStyles , которые задают несколько предопределенных стилей тире, либо вы можете указать собственный образец тире и пробелов, создав новый экземпляр DashStyle .

var pen = new Pen(new SolidColorBrush(Color.FromRgb(200, 10, 20)), 2);
pen.DashStyle = DashStyles.Dash;
drawingContext.DrawLine(pen, point1, point2);
22
ответ дан 3 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: