希望任何人都可以阐明这一点,以便我可以使用带有破折号图案的笔?
我正在使用 WPF 中的X编写一个可滚动的图表(实现的Panel
内部) 。我有几千个s 可以通过在托管它们的 s 上使用来滚动。我通过在其顶部放置一个网格并使用//(注意:这些线始终是静态的,它们从不移动)从一个边缘到另一个边缘绘制简单的水平线来实现一个网格。ScrollViewer
IScrollInfo
DrawingVisual
DataContext.Draw
DrawingVisual
TranslateTransform
Panel
Panel
DataContext.DrawLine(pen, new Point(0, y), new Point(widthOfPanel, y));
滚动性能绝对是疯狂的(即 DrawingVisual 是即时绘制的,滚动是即时的)。但是如果我使用一个Pen
使用破折号模式(例如见下文)来绘制网格线,那么滚动非常不稳定,并且性能似乎已经降低了 100 倍(估计值)。谁能解释为什么会发生这种情况以及我如何解决这个问题?
带有破折号图案的笔示例:
<Pen x:Key="PenUsingDashPatterns" Brush="Black" Thickness="1">
<Pen.DashStyle >
<DashStyle Dashes="3, 3" />
</Pen.DashStyle>
</Pen>