Пример #1
0
        /// <summary>
        /// Attach an event tracker to the current map view model
        /// </summary>
        private void AttachMap()
        {
            var mapViewModel = MapViewModel;

            if (mapViewModel != null)
            {
                _activeEventTracker = new MapPopupMenuEventTracker(this);
                mapViewModel.InteractionHandler.EventTrackers.Add(_activeEventTracker);

                mapViewModel.PropertyChanged += MapViewModelPropertyChanged;
                mapViewModel.TrailLayer.Drawing.ContentsChanged += TrailLayerContentChanged;
            }
        }
Пример #2
0
        /// <summary>
        /// Detach the active map event tracker
        /// </summary>
        private void DetachMap()
        {
            var tracker      = _activeEventTracker;
            var mapViewModel = MapViewModel;

            _activeEventTracker = null;
            if (tracker != null && mapViewModel != null)
            {
                mapViewModel.InteractionHandler.EventTrackers.Remove(tracker);

                mapViewModel.PropertyChanged -= MapViewModelPropertyChanged;
                mapViewModel.TrailLayer.Drawing.ContentsChanged -= TrailLayerContentChanged;
            }
        }