/// <summary>
/// Create a polygon symbol with a dash dot fill. <br/>
/// 
/// </summary>
{
//Note: Run withing QueuedTask
var trans = 50.0;//semi transparent
CIMStroke outline = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(0, 0, 0, trans), 2.0, SimpleLineStyle.Solid);
//Stroke for the fill
var dashDot = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.RedRGB, 1.0, SimpleLineStyle.DashDotDot);
//Mimic cross hatch
CIMFill[] solidColorHatch =
{
new CIMHatchFill()
{
Enable = true,
Rotation = 0.0,
Separation = 2.5,
LineSymbol = new CIMLineSymbol(){SymbolLayers = new CIMSymbolLayer[1] {dashDot } }
},
new CIMSolidFill()
{
Enable = true,
Color = ColorFactory.Instance.CreateRGBColor(255, 255, 0)
},
};
List<CIMSymbolLayer> symbolLayers = [outline, .. solidColorHatch];
//This is the polygon symbol with a dash dot fill
CIMPolygonSymbol dashDotFillPolygon = new CIMPolygonSymbol() { SymbolLayers = symbolLayers.ToArray() };
//To apply the symbol to a polygon feature layer
//var renderer = theLayer.GetRenderer() as CIMSimpleRenderer;
//renderer.Symbol = dashDotFillPolygon.MakeSymbolReference();
//theLayer.SetRenderer(renderer);
}