我可以使用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);
我需要使用交替的黑白破折号,因为如果覆盖在任意照片上,多边形需要是可见的。
我已经使用红色而不是白色来说明我想要的效果。
我能做到的hacky方式是从多边形类继承,并从同一组点创建两个多边形,一个用虚线覆盖,一个没有破折号。但这很笨拙。