在WPF装饰器中绘制虚线

flq*_*flq 11 .net c# wpf graphics xaml

我在Web上发现了几篇关于在WPF中绘制虚线的文章.但是,它们似乎围绕使用Line-class,它是WPF中的UIElement.它是这样的:

Line myLine = new Line();
DoubleCollection dashes = new DoubleCollection();
dashes.Add(2);
dashes.Add(2);
myLine.StrokeDashArray = dashes;
Run Code Online (Sandbox Code Playgroud)

现在,我在一个Adorner里面,我只能访问绘图上下文.在那里,我或多或少地减少了绘图基元,画笔,笔,几何等.这看起来更像是:

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

我被困在如何在这个级别的API上做一个虚线.我希望不是"逐一画出小线条",而是我没有看到的其他东西......

Sam*_*ack 22

查看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);
Run Code Online (Sandbox Code Playgroud)