Я вижу самую странную ошибку со следующим кодом.
У меня есть PathGeometry
, к которому я добавил PathFigure
, чтобы я мог добавить LineSegment
s к нему.
Вот что я делаю:
_pathGeometry.Figures.Add(_pathFigure);
_pathFigure.StartPoint = new Point(4, 0);
LineSegment lineSegment1 = new LineSegment(new Point(4, -10), true);
LineSegment lineSegment2 = new LineSegment(new Point(4, 0), true);
_pathFigure.Segments.Add(lineSegment1);
_pathFigure.Segments.Add(lineSegment2);
Затем я нарисую его:
using (DrawingContext drawingContext = RenderOpen())
drawingContext.DrawGeometry(null, _pen, _pathGeometry);
Что я должен увидеть:
WPF должен нарисовать вертикальную линию, которая идет от 0 до -10 и обратно до 0. Последняя часть (обратно до 0) не видна, потому что она нарисована на том же пикселе x. Но последняя часть вызывает следующее:
Что я вижу:
WPF рисует линию от 0 до -15. Это не имеет никакого смысла для меня. Эта разница в 5 пикселей возникает всякий раз, когда я рисую вертикальную линию поверх другой вертикальной линии, как в предыдущем примере.
Пожалуйста, кто-то скажет мне, что я допустил ошибку, и это не ошибка WPF.