Beispiel #1
0
        /// <summary>
        /// Sets <see cref="AppViewBackButtonVisibility"/> to <see cref="SystemNavigationManager.AppViewBackButtonVisibility"/>
        /// </summary>
        /// <param name="page">The <see cref="Page"/></param>
        /// <param name="value"><see cref="AppViewBackButtonVisibility"/></param>
        public static void SetBackButtonVisibility(Page page, AppViewBackButtonVisibility value)
        {
            var systemNavigationManager = GetSystemNavigationManager();

            if (systemNavigationManager != null)
            {
                systemNavigationManager.AppViewBackButtonVisibility = value;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Управляет видимостью кнопки Back в панели заголовка окна.
        /// </summary>
        private void UpdateBackButtonVisibility()
        {
            AppViewBackButtonVisibility visibility = AppViewBackButtonVisibility.Collapsed;

            if (Frame.CanGoBack)
            {
                visibility = AppViewBackButtonVisibility.Visible;
            }

            SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = visibility;
        }
        partial void OnAppViewBackButtonVisibility(AppViewBackButtonVisibility visibility)
        {
            switch (visibility)
            {
            case AppViewBackButtonVisibility.Visible:
                WebAssemblyRuntime.InvokeJS("Windows.UI.Core.SystemNavigationManager.current.enable();");
                break;

            case AppViewBackButtonVisibility.Collapsed:
            default:                     // Disabled value is not present in currently supported UWP API, but should be mapped to collapsed
                WebAssemblyRuntime.InvokeJS("Windows.UI.Core.SystemNavigationManager.current.disable();");
                break;
            }
        }
        private void NewLocation_Click(object sender, RoutedEventArgs e)
        {
            AddNewButton.Icon       = new SymbolIcon(Symbol.Forward);
            AddNewButton.Label      = "Continue";
            AddNewButton.Click     -= NewLocation_Click;
            AddNewButton.Click     += ContinueAddingNewLocation;
            AddNewButton.Visibility = Visibility.Collapsed;

            LocationMarkerDetails.Visibility = Visibility.Collapsed;

            MapControl.MapTapped += PinLocationOnMap;

            _previousAppViewBackButtonVisibility =
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility;
            SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            SystemNavigationManager.GetForCurrentView().BackRequested += CancelNewLocation;
        }
Beispiel #5
0
        public MainPage()
        {
            this.InitializeComponent();
            AppViewBackButtonVisibility m = new AppViewBackButtonVisibility();

            m = AppViewBackButtonVisibility.Visible;
            List <Man> dates = new List <Man>()
            {
                new Man {
                    Name = "222"
                },
                new Man {
                    Name = "2222"
                }
            };

            comb.ItemsSource = dates;
        }
        //暂时全盘接管导航

        public static void RegSingleHandler(EventHandler <BackRequestedEventArgs> singleHandler)
        {
            var view = SystemNavigationManager.GetForCurrentView();

            if (singleHandlers.Count <= 0)
            {
                lastSingleHandler = null;
            }
            else
            {
                lastSingleHandler = singleHandlers.Last().Key;
            }

            if (lastSingleHandler == null)
            {
                var list = new List <EventHandler <BackRequestedEventArgs> >();
                list.AddRange(Handlers);
                singleHandlers.Add(singleHandler, list);

                foreach (var item in Handlers)
                {
                    view.BackRequested -= item;
                }
                view.BackRequested += singleHandler;

                HandlerIndexs.Add(singleHandler);

                orinalVisibility = SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility;
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            }
            else
            {
                var list = new List <EventHandler <BackRequestedEventArgs> >();

                list.Add(lastSingleHandler);
                singleHandlers.Add(singleHandler, list);

                view.BackRequested -= lastSingleHandler;
                view.BackRequested += singleHandler;
                HandlerIndexs.Add(singleHandler);
            }
        }
Beispiel #7
0
        /// <summary>
        /// Sets the back button visibility based on the current visual state and selected item
        /// </summary>
        private void SetBackButtonVisibility(MasterDetailsViewState previousState)
        {
            if (DesignMode.DesignModeEnabled)
            {
                return;
            }

            if (ViewState == MasterDetailsViewState.Details)
            {
                var navigationManager = SystemNavigationManager.GetForCurrentView();
                _previousBackButtonVisibility = navigationManager.AppViewBackButtonVisibility;

                navigationManager.AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            }
            else if (previousState == MasterDetailsViewState.Details)
            {
                // Make sure we show the back button if the stack can navigate back
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = _previousBackButtonVisibility;
            }
        }
Beispiel #8
0
        private void StartTitleBarAnimation(AppViewBackButtonVisibility buttonVisibility)
        {
            switch (buttonVisibility)
            {
            case AppViewBackButtonVisibility.Disabled:
            case AppViewBackButtonVisibility.Visible:
                if (IsTitleBarTextBlockInBegun)
                {
                    goto default;
                }
                TitleBarTextBlockIn.Begin();
                IsTitleBarTextBlockInBegun = true;
                break;

            case AppViewBackButtonVisibility.Collapsed:
                TitleBarTextBlockOut.Begin();
                IsTitleBarTextBlockInBegun = false;
                break;

            default:
                break;
            }
        }
 public static void SetBackButtonVisibility(Page page, AppViewBackButtonVisibility value)
 {
     ApplicationViewExtensions.SetBackButtonVisibility(page, value);
 }
Beispiel #10
0
 public BackButtonVisibilityChangedEventArgs(AppViewBackButtonVisibility visibility)
 {
     BackButtonVisibility = visibility;
 }