ダッシュパターンのペンを使用できるように、誰かがこれに光を当ててくれることを願っていますか?
のXを使用して、WPFでスクロール可能なチャート (を実装するPanel
内部) を作成しています。それらをホストする で使用してスクロールする数千の があります。その上に を配置し、//を使用して一方の端から他方の端まで単純な水平線を描画することでグリッドを実装しました(注: これらの線は常に静的であり、移動することはありません)。ScrollViewer
IScrollInfo
DrawingVisual
DataContext.Draw
DrawingVisual
TranslateTransform
Panel
Panel
DataContext.DrawLine(pen, new Point(0, y), new Point(widthOfPanel, y));
スクロールのパフォーマンスはまったく正気ではありません (つまり、DrawingVisual は即座に描画され、スクロールも瞬時に行われます)。しかしPen
、グリッド ラインを描画するために破線パターン (たとえば、以下を参照) を使用する を使用すると、スクロールが非常にぎくしゃくし、パフォーマンスが 100 分の 1 に低下したように見えます (推定値)。なぜそれが起こるのか、どうすればこれを回避できるのか、誰でも説明できますか?
破線パターンのペンの例:
<Pen x:Key="PenUsingDashPatterns" Brush="Black" Thickness="1">
<Pen.DashStyle >
<DashStyle Dashes="3, 3" />
</Pen.DashStyle>
</Pen>