示例#1
0
        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);
        }
示例#2
0
 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>();
 }
示例#3
0
 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>();
 }
示例#4
0
        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;
                }
            }
        }
示例#5
0
 private void SelectTreeRegion(GeographicalRegionViewModel region)
 {
     SetSelectedTreeRegion(RegionsTreeView, region);
 }
示例#6
0
 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;
 }
示例#7
0
        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;
        }
示例#8
0
 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;
         }
     }
 }
示例#9
0
 private void SelectTreeRegion(GeographicalRegionViewModel region)
 {
     SetSelectedTreeRegion(RegionsTreeView, region);
 }