AnsweredAssumed Answered

change GraphicsOverlays Symbol color on click, ArcGIS runtime 100 .net

Question asked by Maxguo on Oct 3, 2017

I have a simple GraphicsOverlay symbol, how do I change the color of it on event triggered? My sample code shown below:


public MainPageViewModel() {         
// Create new Map without basemap        
Map = new Map(SpatialReference.Create(102100));         
// Add the tile basemap only after the map has loaded so it doesn't block the map if offline        
Map.Loaded += (sender, e) => { Map.Basemap = Basemap.CreateImagery(); };         
// Setup the graphics layers        
GraphicsOverlay editGraphics = new GraphicsOverlay();        
editGraphics.Id = "MyGraphics";        
// Add some test graphics         
SimpleMarkerSymbol pointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle.Circle, SystemColor.Red, 25);        
var point = new MapPoint(0, 0);        
Graphic mapPoint = new Graphic(point, pointSymbol);        
public ICommand ColorButtonCommand { get; set; }    
public void ColorButtonTapped() {        
// Handle color code goes in here       
// pointSymbol.Color = SystemColor.Gray;     
public bool CanColorButtonTapped()    
return true;    

I thought of declaring my SimpleMarkerSymbol pointSymbol variable as a global variable, and simply change color like what I did in my commented out code pointSymbol.Color = SystemColor.Gray, But I think it is a bad approach, there should be a easy and clean way to handle it. Can Anyone help me on this?