ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / FeatureLayerCreationParams Class / RendererDefinition Property
Example

In This Topic
    RendererDefinition Property (FeatureLayerCreationParams)
    In This Topic
    Gets and sets a RendererDefinition.
    Syntax
    Public Property RendererDefinition As RendererDefinition
    public RendererDefinition RendererDefinition {get; set;}
    Example
    Create layer with create-params
    {
        var flyrCreatnParam = new FeatureLayerCreationParams(new Uri(@"c:\data\world.gdb\cities"))
        {
            Name = "World Cities",
            IsVisible = false,
            MinimumScale = 1000000,
            MaximumScale = 5000,
            DefinitionQuery = new DefinitionQuery(whereClause: "Population > 100000", name: "More than 100k"),
            RendererDefinition = new SimpleRendererDefinition()
            {
                SymbolTemplate = SymbolFactory.Instance.ConstructPointSymbol(
           CIMColor.CreateRGBColor(255, 0, 0), 8, SimpleMarkerStyle.Hexagon).MakeSymbolReference()
            }
        };
        //Note: Needs QueuedTask to run
        var featureLayerWithParams = LayerFactory.Instance.CreateLayer<FeatureLayer>(flyrCreatnParam, map);
    }
    Create FeatureLayer with a Renderer
    {
        //Define a simple renderer to draw the Point US Cities feature class.
        var simpleRender = new SimpleRendererDefinition
        {
            SymbolTemplate = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.RedRGB, 4.0, SimpleMarkerStyle.Circle).MakeSymbolReference()
    
        };
        //The catalog path of the feature layer to add to the map
        var featureClassUri = new Uri(@"C:\Data\Admin\AdminData.gdb\USA\cities");
        //Define the Feature Layer's parameters.
        var layerParams = new FeatureLayerCreationParams(featureClassUri)
        {
            //Set visibility
            IsVisible = true,
            //Set Renderer
            RendererDefinition = simpleRender,
        };
        //Create the layer with the feature layer parameters and add it to the active map
        //Note: Needs QueuedTask to run
        var createdFCWithRenderer = LayerFactory.Instance.CreateLayer<FeatureLayer>(layerParams, MapView.Active.Map);
    }
    Apply Symbology from a Layer in the TOC
    {
        //Note: Call within QueuedTask.Run()
        if (MapView.Active.Map == null) return;
    
        //Get an existing Layer. This layer has a symbol you want to use in a new layer.
        var lyr = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>()
              .Where(l => l.ShapeType == esriGeometryType.esriGeometryPoint).FirstOrDefault();
        //This is the renderer to use in the new Layer
        var renderer = lyr.GetRenderer() as CIMSimpleRenderer;
        //Set the DataConnection for the new layer
        Geodatabase geodatabase = new Geodatabase(
          new FileGeodatabaseConnectionPath(new Uri(@"E:\Data\Admin\AdminData.gdb")));
        FeatureClass featureClass = geodatabase.OpenDataset<FeatureClass>("Cities");
        var dataConnection = featureClass.GetDataConnection();
        //Create the definition for the new feature layer
        var featureLayerParams = new FeatureLayerCreationParams(dataConnection)
        {
            RendererDefinition = new SimpleRendererDefinition(renderer.Symbol),
            IsVisible = true,
        };
        //create the new layer
        LayerFactory.Instance.CreateLayer<FeatureLayer>(
          featureLayerParams, MapView.Active.Map);
    }
    Create a stream layer with a simple renderer
    {
      // Note: call within QueuedTask.Run()
      {
        var url = @"https://geoeventsample1.esri.com:6443/arcgis/rest/services/LABus/StreamServer";
        var uri = new Uri(url, UriKind.Absolute);
        var createParams = new FeatureLayerCreationParams(uri)
        {
          RendererDefinition = new SimpleRendererDefinition()
          {
            SymbolTemplate = SymbolFactory.Instance.ConstructPointSymbol(
                                ColorFactory.Instance.BlueRGB,
                                12,
                         SimpleMarkerStyle.Pushpin).MakeSymbolReference()
          }
        };
        streamLayer = LayerFactory.Instance.CreateLayer<StreamLayer>(
                            createParams, map);
      }
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also