I have noticed that the BackgroundColor property has no affect when rendering is set to static for a graphics layer. The BackgroundColor property works if the rendering mode is dynamic, however, the TextSymbol placement changes. Screenshots and code below (see line 49)
Static Rendering
Dynamic Rendering
private async void MeasureLocationAsync(object sender, RoutedEventArgs e) { while (true) { // get or create graphics layer to display user measurement objects var measureLayer = (GraphicsLayer) MyMapView.Map.Layers[MeasureLayerID]; if (measureLayer == null) { measureLayer = new GraphicsLayer {ID = MeasureLayerID}; measureLayer.RenderingMode = GraphicsRenderingMode.Static; MyMapView.Map.Layers.Add(measureLayer); } var taskLoadLayer = MyMapView.LayersLoadedAsync(new List<Layer> {measureLayer}); var taskDrawShape = MyMapView.Editor.RequestPointAsync(); try { await Task.WhenAll(taskLoadLayer, taskDrawShape); } catch (TaskCanceledException) { // editor operation was cancelled. break out of this return; } var point = taskDrawShape.Result; var wgs84Location = (MapPoint)GeometryEngine.Project(point, SpatialReferences.Wgs84); // clear existing items from measurement layer measureLayer.Graphics.Clear(); // create symbol var markerSymbol = new SimpleMarkerSymbol { Color = Colors.Orange, Size = 16, Outline = new SimpleLineSymbol() { Color = Colors.Black, Width = 3 } }; var symbolGraphic = new Graphic(point, markerSymbol); // create text label var textSymbol = new TextSymbol { Color = Colors.Orange, BackgroundColor = Colors.Black, // this doesn't work when rendering mode is static, bug in esri? XOffset = 10, YOffset = 10, HorizontalTextAlignment = HorizontalTextAlignment.Right, Font = new SymbolFont(MeasurePostionButton.FontFamily.Source, 24, SymbolFontStyle.Normal, SymbolTextDecoration.None, SymbolFontWeight.Bold), Text = $"{wgs84Location.X}, {wgs84Location.Y}" }; var textGraphic = new Graphic(point, textSymbol); measureLayer.Graphics.Add(symbolGraphic); measureLayer.Graphics.Add(textGraphic); } }