Show / Hide Table of Contents

Class Symbol

A base class to represent symbols.

Inheritance
Object
Symbol
CompositeSymbol
FillSymbol
LineSymbol
MarkerSymbol
MultilayerSymbol
SceneSymbol
Implements
INotifyPropertyChanged
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Esri.ArcGISRuntime.Symbology
Assembly: Esri.ArcGISRuntime.dll
Syntax
public abstract class Symbol : INotifyPropertyChanged
Remarks

A symbol defines display properties for features and graphics (collectively referred to as geoelements). A geoelement has a geometry (location and shape), and optional descriptive information. For features and graphics to appear on a map, they must be assigned a symbol.

ArcGIS Runtime uses two models for defining symbols in your map: simple and advanced (multilayer). In general, simple symbols are single-layer symbols that provide basic symbols, such as marker, line, fill, text, or picture. Advanced symbols are composed of one or several layers that can be defined individually and combined to create complex representations. Both of these are more fully described as follows:

  • Simple symbols follow the web map specification; you work with them through the simple symbol classes in the API. These are the symbols you get from web maps or from feature services when advanced symbology is turned off. Simple symbols can be created for points (marker symbols), lines (line symbols), and polygons (fill symbols). Each of the simple symbol types provides an enumeration of pre-defined styles that can be applied to the symbol.
  • Advanced symbols, accessed through multilayer symbol classes, follow the ArcGIS Pro symbol model also referred to as CIM symbols. These symbols come from feature services (that use advanced symbology), mobile style files, the dictionary renderer, and mobile map packages. You can also build your own advanced symbols for points, lines, and polygons.

ArcGIS Pro web map publishing tool offers two choices when saving a web map. You can either choose to save advanced multilayer CIM symbols in the web map, or choose to downgrade the symbols to save simple symbols to ensure compatibility between all clients. If choosen to downgrade, point symbols are converted to picture marker symbols optimized for the web, and line and polygon symbols are simplified while representing the original symbol as closely as possible. If you're authoring a feature service from ArcGIS Pro or ArcGIS Desktop, however, both the original symbols and the simplified symbols are stored. This allows clients that support advanced symbols to render the features as originally symbolized, while those that do not support advanced symbols (such as ArcGIS Online Map Viewer) can use the simple symbols for display. Having both sets of symbols allows you to retain the advanced symbology where available and still share the feature service as widely as possible.

If your app works primarily with web maps that you want to look the same throughout the platform, your app should use the simple symbols API.Otherwise, make sure your users understand that advanced symbols render slightly differently on clients that don't support advanced symbology.

If your maps are used only with ArcGIS Maps SDK for .NET and ArcGIS Pro, you can use advanced symbols exclusively. Advanced symbols are vectorized in ArcGIS Runtime clients, thereby scaling better on devices with high resolution screens.

You can set UseAdvancedSymbology to control whether the map uses advanced symbols (when available) or always renders with simple symbols.

Methods

Name Description
Clone()

Clones this instance of Symbol and its members.

CreateSwatchAsync(Double)

Creates a swatch image of this symbol using the default size and a transparent background.

CreateSwatchAsync(Color, Double)

Creates a swatch image of this symbol, using the default sizing and a transparent background.

CreateSwatchAsync(Int32, Int32, Double, Color)

Creates a swatch image of this symbol, scaled to fit the specified dimensions.

CreateSwatchAsync(Int32, Int32, Single, Color, Geometry)

Creates a swatch image of this symbol, with the specified image size, dpi, background color, and geometry.

FromJson(String)

Returns the json representation of the symbol

ToJson()

Returns the json representation of the symbol

Events

Name Description
PropertyChanged

Occurs when a property value changes.

Applies to

TargetVersions
.NET Standard 2.0100.3 - 200.0
.NET 6.0100.13 - 200.0
.NET 6.0 Windows100.13 - 200.0
.NET 6.0 Android200
.NET 6.0 iOS200
.NET Framework100.0 - 200.0
.NET 5100.10 - 100.12
.NET Core 3.1100.7 - 100.12
Android100.0 - 100.15
iOS100.0 - 100.15
UWP100.0 - 200.0

Relevant samples

Add graphics with symbols: Use a symbol style to display a graphic on a graphics overlay.
Browse WFS layers: Browse a WFS service for layers and add them to the map.
In This Article
Back to top Copyright © 2022 Esri.