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;
}
}