示例#1
0
        public void NextExtent()
        {
            if (_currentExtentIndex < _extentHistory.Count - 1)
            {
                _currentExtentIndex++;

                if (_currentExtentIndex == (_extentHistory.Count - 1))
                {
                    if (NavigateExtentDoneEvent != null)
                    {
                        NavigateExtentDoneEventArgs args = new NavigateExtentDoneEventArgs();
                        args.navigateExtentOn = NavigateExtentFocus.Next;
                        args.nextEnabled      = false;

                        NavigateExtentDoneEvent(this, args);
                    }
                }

                _newExtent = false;


                _mapView.SetView(_extentHistory[_currentExtentIndex]);

                if (NavigateExtentDoneEvent != null)
                {
                    NavigateExtentDoneEventArgs args = new NavigateExtentDoneEventArgs();
                    args.navigateExtentOn = NavigateExtentFocus.Previous;
                    args.previousEnabled  = true;

                    NavigateExtentDoneEvent(this, args);
                }
            }
        }
示例#2
0
        void _mapView_NavigationCompleted(object sender, EventArgs e)
        {
            //////////////Next and previous extents handling///////////////////
            if (_extentHistory.Count == 0)
            {
                _extentHistory.Add(_mapView.Extent.Clone());
                return;
            }

            if (_newExtent)
            {
                _currentExtentIndex++;

                if (_extentHistory.Count - _currentExtentIndex > 0)
                {
                    _extentHistory.RemoveRange(_currentExtentIndex, (_extentHistory.Count - _currentExtentIndex));
                }

                _extentHistory.Add(_mapView.Extent.Clone());

                if (NavigateExtentDoneEvent != null)
                {
                    NavigateExtentDoneEventArgs args = new NavigateExtentDoneEventArgs();
                    args.navigateExtentOn = NavigateExtentFocus.Both;
                    args.nextEnabled      = false;
                    args.previousEnabled  = true;

                    NavigateExtentDoneEvent(this, args);
                }
            }
            else
            {
                _newExtent = true;
            }
        }
        void _exMap_NavigateExtentDoneEvent(object sender, NavigateExtentDoneEventArgs e)
        {
            if (e.navigateExtentOn == NavigateExtentFocus.Both)
            {
                if (e.nextEnabled)
                {
                    _nextBtnOpacity = 1;
                }
                else
                {
                    _nextBtnOpacity = 0.3;
                }

                if (e.previousEnabled)
                {
                    _prevBtnOpacity = 1;
                }
                else
                {
                    _prevBtnOpacity = 0.3;
                }
            }
            else if (e.navigateExtentOn == NavigateExtentFocus.Next)
            {
                if (e.nextEnabled)
                {
                    _nextBtnOpacity = 1;
                }
                else
                {
                    _nextBtnOpacity = 0.3;
                }
            }
            else
            {
                if (e.previousEnabled)
                {
                    _prevBtnOpacity = 1;
                }
                else
                {
                    _prevBtnOpacity = 0.3;
                }
            }
        }