ESRI.ArcGIS.Client.Toolkit.EditorWidget.OnMapPropertyChanged C# (CSharp) Méthode

OnMapPropertyChanged() private static méthode

private static OnMapPropertyChanged ( DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e ) : void
d System.Windows.DependencyObject
e System.Windows.DependencyPropertyChangedEventArgs
Résultat void
        private static void OnMapPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            Map oldMap = e.OldValue as Map;
            Map newMap = e.NewValue as Map;
            EditorWidget widget = (EditorWidget)d;
            if (widget != null)
            {
                widget.editor.Map = newMap;
                if (oldMap != null && oldMap.Layers != null)
                {
                    oldMap.MapGesture -= widget.Map_MapGesture;
                    List<GraphicsLayer> oldGraphicsLayers = new List<GraphicsLayer>();
                    foreach (Layer layer in oldMap.Layers)
                    {
                        if (layer is GraphicsLayer)
                            oldGraphicsLayers.Add(layer as GraphicsLayer);
                    }
                    widget.DetachLayerEventHandlers(oldGraphicsLayers);
                    oldMap.Layers.CollectionChanged -= widget.Layers_CollectionChanged;
                }
                if (newMap != null && newMap.Layers != null)
                {
                    newMap.MapGesture += widget.Map_MapGesture;
                    newMap.Layers.CollectionChanged += widget.Layers_CollectionChanged;
                    widget.AttachLayerEventHandlers(widget.editor.GraphicsLayers);
                }
            }
        }