ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / ScaleBarInfo Class / ScaleBarStyleItem Property
Example

In This Topic
    ScaleBarStyleItem Property
    In This Topic
    Gets and sets the scale bar style: ArcGIS.Desktop.Mapping.ScaleBarStyleItem
    Syntax
    Public Property ScaleBarStyleItem As ScaleBarStyleItem
    public ScaleBarStyleItem ScaleBarStyleItem {get; set;}
    Example
    Create Scale Bar From StyleItem
    {
      //Create a scale bar using a style.
    
      //Search for a style project item by name
      StyleProjectItem arcgis_2dStyle = Project.Current.GetItems<StyleProjectItem>()
                                  .First(si => si.Name == "ArcGIS 2D");
    
      //Note: Must be on QueuedTask.Run
    
      //Reference the specific scale bar by name 
      ScaleBarStyleItem scaleBarItem = arcgis_2dStyle.SearchScaleBars(
                          "Double Alternating Scale Bar").FirstOrDefault();
    
      //Reference the map frame and define the location
      MapFrame myMapFrame = layout.FindElement("Map Frame") as MapFrame;
      Coordinate2D coord2D = new Coordinate2D(10.0, 7.0);
    
      //Construct the scale bar
      var sbarInfo = new ScaleBarInfo()
      {
        MapFrameName = myMapFrame.Name,
        ScaleBarStyleItem = scaleBarItem
      };
      ElementFactory.Instance.CreateMapSurroundElement(
              layout, coord2D.ToMapPoint(), sbarInfo);
    }
    Create Scale Line
    {
      //Note: Must be on QueuedTask.Run
      //Build geometry
      Coordinate2D ll = new Coordinate2D(5.0, 8);
      Coordinate2D ur = new Coordinate2D(6.0, 9);
      Envelope sbEnv = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
    
      //Reference a Scale Bar in a style
      StyleProjectItem stylePrjItm = Project.Current.GetItems<StyleProjectItem>()
                                   .FirstOrDefault(item => item.Name == "ArcGIS 2D");
      ScaleBarStyleItem sbStyleItm = stylePrjItm.SearchScaleBars(
                                    "Scale Line 1")[0];
      //ScaleBarStyleItem sbStyleItm = stylePrjItm.SearchScaleBars(
      //                                           "Stepped Scale Line")[0];
      //ScaleBarStyleItem sbStyleItm = stylePrjItm.SearchScaleBars(
      //                                            "Scale Line 2")[0];
    
      //Create Scale Bar
      ScaleBarInfo sbInfo = new ScaleBarInfo()
      {
        MapFrameName = mapFrame.Name,
        ScaleBarStyleItem = sbStyleItm
      };
    
      var sbElm = ElementFactory.Instance.CreateMapSurroundElement(
                        layout, sbEnv, sbInfo, "ScaleBar Line") as ScaleBar;
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also