private List <LayerInfo> GetLayerInfos(Map map) { List <LayerInfo> layers = null; if (map != null && map.Layers != null) { foreach (Layer layer in map.Layers) { FeatureLayer fLayer = layer as FeatureLayer; if (fLayer != null && !string.IsNullOrWhiteSpace(fLayer.ID) && !fLayer.IsReadOnly) { if (layers == null) { layers = new List <LayerInfo>(); } layers.Add(new LayerInfo() { Layer = fLayer, IsChecked = LayerIds != null ? LayerIds.Contains(layer.ID) : false }); layer.SetValue(LayerProperties.IsEditableProperty, LayerIds == null ? true : LayerIds.Contains(layer.ID)); } } } return(layers); }
private void UpdateLayerInfosState() { if (LayerInfos != null) { foreach (LayerInfo layerInfo in LayerInfos) { layerInfo.IsChecked = LayerIds != null?LayerIds.Contains(layerInfo.Layer.ID) : false; if (layerInfo.Layer != null) { layerInfo.Layer.SetValue(LayerProperties.IsEditableProperty, LayerIds == null ? true : LayerIds.Contains(layerInfo.Layer.ID)); } } } }