private ClusterGraphicObject(MapPoint mapPoint, IList<Graphic> cluster) { Geometry = mapPoint; Symbol = new ClusterSymbol(); SolidColorBrush fillColor = _GetFillColor(cluster); Attributes.Add(SymbologyContext.FILL_ATTRIBUTE_NAME, fillColor); _cluster = cluster; foreach(Graphic graphic in _cluster) graphic.PropertyChanged += new PropertyChangedEventHandler(graphic_PropertyChanged); _SelectIfNeeded(); }
/// <summary> /// React on route color changed. /// </summary> void route_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName.Equals(Route.PropertyNameColor)) { Color mediaColor = System.Windows.Media.Color.FromArgb(_route.Color.A, _route.Color.R, _route.Color.G, _route.Color.B); SolidColorBrush brush = new SolidColorBrush(mediaColor); Attributes[SymbologyContext.FILL_ATTRIBUTE_NAME] = brush; Symbol = new ClusterSymbol(); } }