ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMFill Class
Members Example Version

CIMFill Class
Represents a fill which defines how the polygonal geometry is drawn.
Syntax
Example
Snippet Diagonal cross hatch fill
/// <summary>
/// Create a polygon symbol with a diagonal cross hatch fill. <br/>
/// ![PolygonSymbolDiagonalCrossHatch](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/polygon-diagonal-crosshatch.png)
/// </summary>
/// <returns></returns>
public static Task<CIMPolygonSymbol> CreateDiagonalCrossPolygonAsync()
{
    return QueuedTask.Run<CIMPolygonSymbol>(() =>
    {
        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 solid = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(255, 0, 0, trans), 1.0, SimpleLineStyle.Solid);

        //Mimic cross hatch
        CIMFill[] diagonalCross =
            {
            new CIMHatchFill() {
                Enable = true,
                Rotation = 45.0,
                Separation = 5.0,
                LineSymbol = new CIMLineSymbol() { SymbolLayers = new CIMSymbolLayer[1] { solid } }
            },
            new CIMHatchFill() {
                Enable = true,
                Rotation = -45.0,
                Separation = 5.0,
                LineSymbol = new CIMLineSymbol() { SymbolLayers = new CIMSymbolLayer[1] { solid } }
            }
        };
        List<CIMSymbolLayer> symbolLayers = new List<CIMSymbolLayer>
        {
            outline
        };
        foreach (var fill in diagonalCross)
            symbolLayers.Add(fill);
        return new CIMPolygonSymbol() { SymbolLayers = symbolLayers.ToArray() };
    });
}
Snippet Gradient color fill using CIMGradientFill
/// <summary>
/// Create a polygon symbol with a gradient color fill. <br/>
/// ![PolygonSymbolGradientColor](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/polygon-gradient-color.png)
/// </summary>
/// <remarks>
/// 1. Create a solid colored stroke with 50% transparency
/// 1. Create a fill using gradient colors red through green
/// 1. Apply both the stroke and fill as a symbol layer array to the new PolygonSymbol
/// </remarks>
/// <returns></returns>
public static Task<CIMPolygonSymbol> CreateGradientFillAsync()
{
    return QueuedTask.Run<CIMPolygonSymbol>(() =>
    {
        var trans = 50.0;//semi transparent
        CIMStroke outline = SymbolFactory.Instance.ConstructStroke(CIMColor.CreateRGBColor(0, 0, 0, trans), 2.0, SimpleLineStyle.Solid);
        //Mimic cross hatch
        CIMFill solidColorHatch =
         new CIMGradientFill()
         {
             ColorRamp = ColorFactory.Instance.ConstructColorRamp(ColorRampAlgorithm.LinearContinuous,
                                ColorFactory.Instance.RedRGB, ColorFactory.Instance.GreenRGB)
         };
        List<CIMSymbolLayer> symbolLayers = new List<CIMSymbolLayer>
        {
            outline,
            solidColorHatch
        };

        return new CIMPolygonSymbol() { SymbolLayers = symbolLayers.ToArray() };
    });
}
Inheritance Hierarchy

System.Object
   ArcGIS.Core.CIM.CIMObject
      ArcGIS.Core.CIM.CIMSymbolLayer
         ArcGIS.Core.CIM.CIMFill
            ArcGIS.Core.CIM.CIMGradientFill
            ArcGIS.Core.CIM.CIMHatchFill
            ArcGIS.Core.CIM.CIMPictureFill
            ArcGIS.Core.CIM.CIMSolidFill
            ArcGIS.Core.CIM.CIMWaterFill

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.0 or higher.
See Also