コード例 #1
0
        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);
        }
コード例 #2
0
        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));
                    }
                }
            }
        }