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