Solved! Go to Solution.
var uniqueValueRenderer = new UniqueValueRenderer(); var defaultSymbol = new ESRI.ArcGIS.Client.Symbols.SimpleLineSymbol { Width = 2.5 }; uniqueValueRenderer.DefaultSymbol = defaultSymbol; uniqueValueRenderer.Field = attributeField; //parameter var colorRange = new ColorRange { From = this.GetRandomColor(), To = this.GetRandomColor() }; var rampInterpolator = new RampInterpolator { ColorRange = colorRange }; foreach (var graphic in layer.Graphics) { var valueInfo = new UniqueValueInfo { Label = graphic.Attributes[attributeField].ToString(), Value = graphic.Attributes[attributeField].ToString(), Symbol = rampInterpolator.GetInterpolatedSymbol( defaultSymbol, graphic, 0, layer.Graphics.Count, layer.Graphics.IndexOf(graphic)) }; uniqueValueRenderer.Infos.Add(valueInfo); } return uniqueValueRenderer
var uniqueValueRenderer = new UniqueValueRenderer(); var defaultSymbol = new ESRI.ArcGIS.Client.Symbols.SimpleLineSymbol { Width = 2.5 }; uniqueValueRenderer.DefaultSymbol = defaultSymbol; uniqueValueRenderer.Field = attributeField; //parameter var colorRange = new ColorRange { From = this.GetRandomColor(), To = this.GetRandomColor() }; var rampInterpolator = new RampInterpolator { ColorRange = colorRange }; foreach (var graphic in layer.Graphics) { var valueInfo = new UniqueValueInfo { Label = graphic.Attributes[attributeField].ToString(), Value = graphic.Attributes[attributeField].ToString(), Symbol = rampInterpolator.GetInterpolatedSymbol( defaultSymbol, graphic, 0, layer.Graphics.Count, layer.Graphics.IndexOf(graphic)) }; uniqueValueRenderer.Infos.Add(valueInfo); } return uniqueValueRenderer
If you do have services in your solution, you can use the GenerateRendererTask to create your renderer, even for a GraphicsLayer.