private void Layer_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (string.IsNullOrEmpty((sender as Layer).ID) || (LayerIDs != null && !LayerIDs.Contains((sender as Layer).ID))) { return; } if (e.PropertyName == "Visible" || e.PropertyName == "Renderer") { var featureLayer = sender as FeatureLayer; if (featureLayer == null) { return; } var renderer = (sender as FeatureLayer).Renderer as ILegendSupport; if (e.PropertyName == "Renderer" && renderer != null) { if (rendererLookup.ContainsKey(featureLayer)) { var savedRenderer = rendererLookup[featureLayer]; if (savedRenderer != renderer) { savedRenderer.LegendChanged -= Renderer_LegendChanged; } } else { rendererLookup.Add(featureLayer, renderer); } renderer.LegendChanged += Renderer_LegendChanged; } setTemplates(); } }
private void Layer_Initialized(object sender, EventArgs e) { if (string.IsNullOrEmpty((sender as Layer).ID) || LayerIDs != null && !LayerIDs.Contains((sender as Layer).ID)) { return; } Layer layer = sender as Layer; layer.Initialized -= Layer_Initialized; setTemplates(); }