如何在WPF中创建多色破折号(对于多边形)

时间:2013-09-04 16:54:07

标签: wpf

我可以使用StrokeDashedArray属性在WPF中创建一个虚线多边形,即

Polygon maskingPolygon = new Polygon()
maskingPolygon.Stroke = Brushes.White;
maskingPolygon.StrokeDashArray = new DoubleCollection() {2,2};

然而,我似乎无法制作一种通过几种不同颜色旋转的破折号图案。我想创建一个在黑色和白色之间交替的破折号。我希望这样的功能:

Polygon maskingPolygon = new Polygon()
maskingPolygon.StrokeDashArray = new Dictionary<int,Brush>();
maskingPolygon.StrokeDashArray.Add(2, White);
maskingPolygon.StrokeDashArray.Add(2, Black);

我需要使用交替的黑白破折号,因为如果覆盖在任意照片上,多边形需要是可见的。

我已经使用红色而不是白色来说明我想要的效果。

multi-colour dash illustration

我能做到的hacky方式是从多边形类继承,并从同一组点创建两个多边形,一个用虚线覆盖,一个没有破折号。但这很笨拙。

0 个答案:

没有答案