private void SetActiveItem(StationViewModel value)
        {
            if (value == activeItem)
                return;
            if (value != null && !value.CanOpenDetails())
                return;

            bool? doShow = null;
            if (activeItem == null && value != null)
                doShow = true;
            else if (activeItem != null && value == null)
                doShow = false;

            #region ActiveItem in header animation
            /*
                if (doShow.HasValue)
                {
                    SlideTransition slideTransition;
                    if (doShow.Value)
                        slideTransition = new SlideTransition { Mode = SlideTransitionMode.SlideDownFadeIn };
                    else
                        slideTransition = new SlideTransition { Mode = SlideTransitionMode.SlideUpFadeOut };
                    ITransition transition = slideTransition.GetTransition(view.ActiveItemContainer);
                    EventHandler transitionComplete = (s, e) => {
                        transition.Stop();
                        if (!doShow.Value)
                            NotifyOfPropertyChange(() => ActiveItem);
                        transition.Completed -= transitionComplete;
                    };
                    transition.Completed += transitionComplete;
                    transition.Begin();
                }
                */
            #endregion

            if (activeItem != null)
                DeactivateItem(activeItem, false);
            activeItem = value;
            if (activeItem != null)
            {
                if (CurrentCoordinate != null && cityContext.IsCurrentCitySelected())
                    activeItem.Location.CurrentCoordinate = CurrentCoordinate;
                ActivateItem(activeItem);
            }
            if (!doShow.HasValue || doShow.Value)
                NotifyOfPropertyChange(() => ActiveItem);
        }
        public void TapPin(StationViewModel sender, System.Windows.Input.GestureEventArgs e)
        {
            if (e == null) return;
            e.Handled = true;
            if (sender != null)
                App.CurrentApp.LogAnalyticEvent("Tapped a station pin");
            if (sender != null && sender != ActiveItem)
            {
                Items.Remove(sender);
                Items.Add(sender);
                ActiveItem = sender;

                sender.Location.OnRouteCalculated += HandleRouteCalculated;
                sender.Location.RefreshRoute();
            }
            else
                ActiveItem = null;
        }