AnyPlace.MainPage.OnBackKeyPress C# (CSharp) Method

OnBackKeyPress() protected method

protected OnBackKeyPress ( System.CancelEventArgs e ) : void
e System.CancelEventArgs
return void
        protected override void OnBackKeyPress(CancelEventArgs e)
        {
            start_nav = false;

            if (downloading.Visibility == Visibility.Visible)
            {
                e.Cancel = true;
                return;
            }

            if (MapOptions.Visibility == Visibility.Visible)
            {
                e.Cancel = true;
                MapOptions.Visibility = Visibility.Collapsed;
                CanvasMenu.Visibility = Visibility.Visible;
                if (directions_grid.Visibility != Visibility.Visible)
                    ApplicationBar.IsVisible = true;
                return;
            }
            else
            {

                if (ApplicationBar.IsVisible == false)
                {
                    ApplicationBar.IsVisible = true;
                    MapOptions.Visibility = Visibility.Collapsed;
                }
            }

            //if (floorpicker.Visibility == Visibility.Visible)
            //{
            //    SystemTray.IsVisible = false;

            //    floorpicker.Visibility = Visibility.Collapsed;
            //    e.Cancel = true;
            //    if (show_grid)
            //    {
            //        MoveViewWindow(-70);
            //        ApplicationBar.IsVisible = false;
            //        directions_grid.Visibility = Visibility.Visible;
            //        show_grid = false;
            //    }
            //    else
            //    {
            //        MoveViewWindow(30);
            //        ApplicationBar.IsVisible = true;
            //    }

            //    return;
            //}

            if (Mymap.Layers.Contains(_sourceLayer))
                Mymap.Layers.Remove(_sourceLayer);

            if (_polyline != null)
                _polyline.Path.Clear();

            if (Mymap.MapElements.Count != 0)
                Mymap.MapElements.Clear();


            if (downloading.Visibility == Visibility.Visible)
            {
                e.Cancel = true;
                return;
            }

            if (ContentPanel.Visibility == Visibility.Visible)
            {
                SystemTray.IsVisible = false;
                //MoveViewWindow(0);
                ApplicationBar.IsVisible = true;
                ContentPanel.Visibility = Visibility.Collapsed;
                if (buildLoaded)
                {
                    closeGrid.Visibility = Visibility.Visible;
                }
                e.Cancel = true;
                return;
            }




            if (gd_result.Visibility == Visibility.Visible)
            {
                Dispatcher.BeginInvoke(() =>
                {
                    if (ls_search.ItemsSource != null)
                        ls_search.ItemsSource.Clear();
                });
                e.Cancel = true;
                gd_result.Visibility = Visibility.Collapsed;
                Mymap.Layers.Remove(mapHoldLayer);
                ApplicationBar.IsVisible = true;
                MoveViewWindow(30);
            }

            if (directions_grid.Visibility == Visibility.Visible)
            {
                if (Mymap.Layers.Contains(indoorLayer))
                    Mymap.Layers.Remove(indoorLayer);
                if (_routePoi != null)
                    _routePoi.pois.Clear();

                // clear directions
                if (GetRoute.Count != 0)
                {
                    GetRoute.Clear();
                    if (_myMapRoute != null)
                    {
                        routedetails_layer.Clear();
                        Mymap.RemoveRoute(_myMapRoute);
                        Mymap.Layers.Remove(routedetails_layer);
                        routeNavDetails.Clear();
                    }
                }
                if (Mymap.Layers.Contains(detailPois))
                {
                    Mymap.Layers.Remove(detailPois);
                    detailPois.Clear();
                }
                MoveViewWindow(30);
                Mymap.Layers.Remove(mapHoldLayer);
                Mymap.MapElements.Clear();
                directions_grid.Visibility = Visibility.Collapsed;
                stackpanelClose();
                e.Cancel = true;
            }

        }
MainPage