csUSDomainPlugin.Effects.Util.DirectionTool.SettingsViewModelOnPropertyChanged C# (CSharp) 메소드

SettingsViewModelOnPropertyChanged() 개인적인 메소드

private SettingsViewModelOnPropertyChanged ( object sender, PropertyChangedEventArgs propertyChangedEventArgs ) : void
sender object
propertyChangedEventArgs System.ComponentModel.PropertyChangedEventArgs
리턴 void
        private void SettingsViewModelOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
        {
            switch (propertyChangedEventArgs.PropertyName)
            {
                case "Contours":
                    
                    foreach (var graphic in EffectsModelShapes)
                    {
                        ContoursLayer.Graphics.Remove(graphic);
                    }

                    foreach (var graphic in BaseEffectsModelShapes)
                    {
                        ContoursLayer.Graphics.Remove(graphic);
                    }

                    BaseEffectsModelShapes.Clear();
                    BaseEffectsModelShapes.AddRange(SettingsViewModel.Contours);

                    EffectsModelShapes.Clear();

                    BaseEffectsModelShapes.ForEach(shape =>
                    {
                        var clone = new Graphic();
                        clone.Geometry = ((Polygon) shape.Geometry).Clone();
                        clone.Symbol = new SimpleFillSymbol
                        {
                            BorderBrush = new SolidColorBrush(Colors.Black),
                            BorderThickness = 1,
                            Fill = new SolidColorBrush(Colors.Red) { Opacity = 0.8f }
                        };
                        clone.Attributes.Add("base", shape);
                        EffectsModelShapes.Add(clone);

//                        MLayer.Graphics.Insert(0, shape);
//                        MLayer.Graphics.Insert(0, clone);
                    });

                    ContoursLayer.Graphics.AddRange(BaseEffectsModelShapes);
                    ContoursLayer.Graphics.AddRange(EffectsModelShapes);

                    UpdateModelShape();
//
//                    var rdCenter = new MapPoint(5.387206, 52.155174);
//                    var start = new WebMercator().ToGeographic(Start.Mp) as MapPoint;
//                    //rdCenter = new WebMercator().FromGeographic(rdCenter) as MapPoint;
//
//                    foreach (var graphic in contours)
//                    {
//                        var baseGraphic = graphic.Attributes["base"] as Graphic;
//                        var basePoly = baseGraphic.Geometry as Polygon;
//                        var clone = basePoly.Clone();
//                
//                        clone.Offset(start.X - rdCenter.X, start.Y - rdCenter.Y);
//
//                        graphic.Geometry = clone;
//                    }
//
//                    ContoursLayer.ClearGraphics();
//                    ContoursLayer.Graphics.AddRange(contours);
//
                    break;
            }
        }