ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMPointSymbol Class / HaloSymbol Property
Example

In This Topic
    HaloSymbol Property (CIMPointSymbol)
    In This Topic
    Gets or sets the polygon symbol that is used to draw the halo for a point symbol.
    Syntax
    Public Property HaloSymbol As CIMPolygonSymbol
    public CIMPolygonSymbol HaloSymbol {get; set;}
    Example
    Set halo property of north arrow
    {
      //Set the CIM halo properties of a north arrow.
    
      //Reference the first selected north arrow element
      var northArrow = LayoutView.Active.GetSelectedElements().OfType<NorthArrow>().First();
    
      //Note: Must be on QueuedTask.Run
      //Get definition of north arrow...
      var cim = northArrow.GetDefinition() as CIMMarkerNorthArrow;
    
      //this halo symbol is 50% transparent, no outline (i.e. 0 width)
      //First construct a polygon symbol to use in the Halo
      //Polygon symbol will need a fill and a stroke
      var polyFill = SymbolFactory.Instance.ConstructSolidFill(ColorFactory.Instance.CreateRGBColor(0, 0, 0, 50));
      var polyStroke = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.BlackRGB, 0);
      var haloPoly = SymbolFactory.Instance.ConstructPolygonSymbol(polyFill, polyStroke);
    
      //Set the north arrow definition of HaloSymbol and HaloSize 
      ((CIMPointSymbol)cim.PointSymbol.Symbol).HaloSymbol = haloPoly;
      ((CIMPointSymbol)cim.PointSymbol.Symbol).HaloSize = 3;//size of the halo
    
      //Apply the CIM changes back to the element
      northArrow.SetDefinition(cim);
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also