private void ShapefileConverter_ImportCompleted(object sender, AsyncCompletedEventArgs e) { var shapePoints = GeoRegions.WorldFullRegion.ToPoints(); var shapeOceansElement = new SelectableShapeElement { ShapeName = "Other", ShapeLabel = "Oceans", IsSelected = true }; shapeOceansElement.Points = new List <List <Point> > { shapePoints }; this.RegionsViewModel.SelectableShapeElements.Add(shapeOceansElement); var shapefile = (ShapefileConverter)sender; foreach (var record in shapefile) { var shapeItem = new SelectableShapeElement(); if (record.Fields != null) { var regionName = record.Fields["REGION"] as string; if (regionName == "NorthAfrica") { regionName = "Africa"; } if (regionName == "Sub Saharan Africa") { regionName = "Africa"; } if (regionName == "Pacific") { regionName = "Other"; // "Other"; } if (regionName == "Caribbean") { regionName = "North America"; } if (regionName == "Latin America") { regionName = "South America"; } if (regionName == null) { return; } shapeItem.Points = record.Points; shapeItem.Fields = record.Fields; shapeItem.ShapeLabel = regionName == "Other" ? "Oceans" : regionName; shapeItem.ShapeName = regionName; shapeItem.IsSelected = IsSelectedRegion(shapeItem.ShapeName); // add loaded shape records as Selectable Shape Elements to the view model this.RegionsViewModel.SelectableShapeElements.Add(shapeItem); } } UpdateRegionFilter(); }
private void OnShapeElementClicked(SelectableShapeElement shapeElement) { var isSelected = !IsSelectedRegion(shapeElement.ShapeName); if (_mvm != null) { foreach (var region in _mvm.Regions) { if (region.Name == shapeElement.ShapeName) { region.IsSelected = isSelected; //region.IsSelected = !region.IsSelected; } } } if (_tvm != null) { foreach (var region in _tvm.Regions) { if (region.Name == shapeElement.ShapeName) { region.IsSelected = isSelected; //region.IsSelected = !region.IsSelected; } } } UpdateRegionFilter(); }
public void RemoveSelectedShapeElement(SelectableShapeElement selectedElement) { this.SelectedShapeElements.Remove(selectedElement); }
public void AddSelectedShapeElement(SelectableShapeElement element) { this.SelectedShapeElements.Add(element); }