ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / WMSSubLayer Class / SetStyleName Method
Example Version

SetStyleName Method
Sets the specified style for the WMS sublayer. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public void SetStyleName( 
   string styleName
)

Parameters

styleName
Exceptions
ExceptionDescription
This method or property must be called within the lambda passed to QueuedTask.Run.
If unidentified stylename is specified throws Exception.
Example
Adding and changing styles for WMS Service Layer
var serverConnection = new CIMInternetServerConnection { URL = "https://spritle.esri.com/arcgis/services/sanfrancisco_sld/MapServer/WMSServer" };
var connection = new CIMWMSServiceConnection { ServerConnection = serverConnection };
LayerCreationParams parameters = new LayerCreationParams(connection);
parameters.MapMemberPosition = MapMemberPosition.AddToBottom;
await QueuedTask.Run(() =>
{
  var compositeLyr = LayerFactory.Instance.CreateLayer<WMSLayer>(parameters, MapView.Active.Map);
  //wms layer in ArcGIS Pro always has a composite layer inside it
  var wmsLayers = compositeLyr.Layers[0] as ServiceCompositeSubLayer;
  //each wms sublayer belongs in that composite layer
  var highwayLayerWMSSub = wmsLayers.Layers[1] as WMSSubLayer;
  //toggling a sublayer's visibility
  if ((highwayLayerWMSSub != null))
  {
    bool visibility = highwayLayerWMSSub.IsVisible;
    highwayLayerWMSSub.SetVisibility(!visibility);
  }
  //applying an existing style to a wms sub layer
  var pizzaLayerWMSSub = wmsLayers.Layers[0] as WMSSubLayer;
  var currentStyles = pizzaLayerWMSSub.GetStyleNames();
  pizzaLayerWMSSub.SetStyleName(currentStyles[1]);
});
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also