Надеюсь, кто-нибудь может пролить свет на это, чтобы я мог использовать ручки с рисунками тире?
Я пишу прокручиваемую диаграмму (Panel
внутри ScrollViewer
, которая реализует IScrollInfo
) в WPF, используя DrawingVisual
s DataContext.Draw
X . У меня есть несколько тысяч 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>