private bool SetSelectedTreeRegion(ItemsControl parent, GeographicalRegionViewModel region) { if (parent == null || region == null) { return(false); } var childNode = parent.ItemContainerGenerator.ContainerFromItem(region) as TreeViewItem; if (childNode != null) { ((TreeViewItem)parent).IsExpanded = true; childNode.Focus(); childNode.IsSelected = true; return(true); } if (parent.Items.Count > 0) { foreach (object childItem in parent.Items) { var childControl = (TreeViewItem)parent.ItemContainerGenerator.ContainerFromItem(childItem); if (SetSelectedTreeRegion(childControl, region)) { return(true); } } } return(false); }
public RegionMarker(GeographicalRegionViewModel region) : base(Enumerable.Empty <PointLatLng>()) { Region = region; Points.AddRange(region.Coordinates.Select(coord => new PointLatLng(coord.Item1, coord.Item2))); Position = Points[0]; _regionPoints = new List <RegionPointMarker>(); _regionMidpoints = new List <RegionPointMarker>(); }
public RegionMarker(GeographicalRegionViewModel region) : base(Enumerable.Empty<PointLatLng>()) { _region = region; Points.AddRange(region.Coordinates.Select(coord => new PointLatLng(coord.Item1, coord.Item2))); Position = Points[0]; _regionPoints = new List<RegionPointMarker>(); _regionMidpoints = new List<RegionPointMarker>(); }
private void SetRegionVisibility(GeographicalRegionViewModel region, bool isVisible) { var marker = MapControl.Markers.OfType <RegionMarker>().FirstOrDefault(rm => rm.Region == region); if (marker != null) { marker.Shape.Visibility = isVisible ? Visibility.Visible : Visibility.Hidden; if (_popup != null && !isVisible && _popup.Tag == marker) { var vm = (GeographicalViewModel)DataContext; vm.SelectedRegion = null; } } }
private void SelectTreeRegion(GeographicalRegionViewModel region) { SetSelectedTreeRegion(RegionsTreeView, region); }
public GeographicalVarietyViewModel(GeographicalRegionViewModel.Factory regionFactory, Variety variety) : base(variety) { _regions = new MirroredBindableList<GeographicRegion, GeographicalRegionViewModel>(variety.Regions, region => regionFactory(this, region), vm => vm.DomainRegion); _clusterIndex = -1; }
private bool SetSelectedTreeRegion(ItemsControl parent, GeographicalRegionViewModel region) { if (parent == null || region == null) return false; var childNode = parent.ItemContainerGenerator.ContainerFromItem(region) as TreeViewItem; if (childNode != null) { ((TreeViewItem) parent).IsExpanded = true; childNode.Focus(); childNode.IsSelected = true; return true; } if (parent.Items.Count > 0) { foreach (object childItem in parent.Items) { var childControl = (TreeViewItem) parent.ItemContainerGenerator.ContainerFromItem(childItem); if (SetSelectedTreeRegion(childControl, region)) return true; } } return false; }
private void SetRegionVisibility(GeographicalRegionViewModel region, bool isVisible) { var marker = MapControl.Markers.OfType<RegionMarker>().FirstOrDefault(rm => rm.Region == region); if (marker != null) { marker.Shape.Visibility = isVisible ? Visibility.Visible : Visibility.Hidden; if (_popup != null && !isVisible && _popup.Tag == marker) { var vm = (GeographicalViewModel) DataContext; vm.SelectedRegion = null; } } }