/// <summary>
        ///     导航。
        /// </summary>
        public void Navigate(Type sourcePageType, object parameter,
                             NavigationTransition navigationTransition)
        {
            DispatcherHelper.CheckBeginInvokeOnUI(() => {
                NavigationTransitionInfo navigationTransitionInfo;
                switch (navigationTransition)
                {
                case NavigationTransition.EntranceNavigationTransition:
                    navigationTransitionInfo =
                        new EntranceNavigationTransitionInfo();
                    break;

                case NavigationTransition.DrillInNavigationTransition:
                    navigationTransitionInfo =
                        new DrillInNavigationTransitionInfo();
                    break;

                default:
                    navigationTransitionInfo =
                        new SuppressNavigationTransitionInfo();
                    break;
                }

                ((Frame)Window.Current.Content).Navigate(sourcePageType,
                                                         parameter, navigationTransitionInfo);
            });
        }
        public MainPage()
        {
            TransitionCollection      collection = new TransitionCollection();
            NavigationThemeTransition theme      = new NavigationThemeTransition();

            //var info = new ContinuumNavigationTransitionInfo();
            //var info = new CommonNavigationTransitionInfo();
            var info = new DrillInNavigationTransitionInfo();

            //var info = new EntranceNavigationTransitionInfo();
            //var info = new SlideNavigationTransitionInfo();
            //var info = new SuppressNavigationTransitionInfo();

            theme.DefaultNavigationTransitionInfo = info;
            collection.Add(theme);
            this.Transitions = collection;

            //

            this.InitializeComponent();

            if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
            {
                var i = Windows.UI.ViewManagement.StatusBar.GetForCurrentView().HideAsync();
            }

            if (IsInternet())
            {
                MainFrame.Navigate(typeof(HomePage));
            }
            else
            {
                MainFrame.Navigate(typeof(NoInternetPage));
            }
        }
        async private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            var location = Windows.ApplicationModel.Package.Current.InstalledLocation;

            coinbase = JToken.FromObject("");
            try
            {
                var file = await location.GetFileAsync("APIKeys.json");

                string json = await FileIO.ReadTextAsync(file);

#if DEBUG
                coinbase = JObject.Parse(json).SelectToken("coinbase_sandbox");
#else
                coinbase = JObject.Parse(json).SelectToken("coinbase");
#endif
            }
            catch (Exception)
            {
                NavigationTransitionInfo transition = new DrillInNavigationTransitionInfo();
                this.Frame.Navigate(typeof(MainPage), "Coinbase", transition);
            }
#if !TESTLOGIN && DEBUG
            NavigateToWallet((string)coinbase["developer_access_token"]);
#endif
            Uri coinBaseAuthURL = new Uri(string.Format("{0}oauth/authorize?response_type=code&client_id={1}&redirect_uri={2}&scope=wallet:accounts:read", coinbase["url"], coinbase["client_id"], coinbase["redirect"]));
            LoginWebView.Navigate(coinBaseAuthURL);
        }
        async private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            var location = Windows.ApplicationModel.Package.Current.InstalledLocation;
            coinbase = JToken.FromObject("");
            try
            {
                var file = await location.GetFileAsync("APIKeys.json");
                string json = await FileIO.ReadTextAsync(file);
#if DEBUG
                coinbase = JObject.Parse(json).SelectToken("coinbase_sandbox");
#else
                coinbase = JObject.Parse(json).SelectToken("coinbase");
#endif
            }
            catch (Exception)
            {
                NavigationTransitionInfo transition = new DrillInNavigationTransitionInfo();
                this.Frame.Navigate(typeof(MainPage), "Coinbase", transition);
            }
#if !TESTLOGIN && DEBUG
            NavigateToWallet((string)coinbase["developer_access_token"]);
#endif
            Uri coinBaseAuthURL = new Uri(string.Format("{0}oauth/authorize?response_type=code&client_id={1}&redirect_uri={2}&scope=wallet:accounts:read",coinbase["url"], coinbase["client_id"], coinbase["redirect"]));
            LoginWebView.Navigate(coinBaseAuthURL);
        }
        private async Task CreateSecondaryView()
        {
            var secondaryView = CoreApplication.CreateNewView();

            var result = await secondaryView.DispatcherQueue.EnqueueAsync(async() =>
            {
                secondaryView.TitleBar.ExtendViewIntoTitleBar = true;

                var content = new SecondaryWindowCoreLayout();

                var ns = content.CreateNavigationService();
                await ns.NavigateAsync(nameof(BlankPage));

                Window.Current.Content = content;

                var id = ApplicationView.GetApplicationViewIdForWindow(secondaryView.CoreWindow);

                var view = ApplicationView.GetForCurrentView();

                view.TitleBar.ButtonBackgroundColor         = Windows.UI.Colors.Transparent;
                view.TitleBar.ButtonInactiveBackgroundColor = Windows.UI.Colors.Transparent;

                await Task.Delay(250);

                Window.Current.Activate();

                await ApplicationViewSwitcher.TryShowAsStandaloneAsync(id, ViewSizePreference.UseHalf, MainViewId, ViewSizePreference.UseHalf);

                // ウィンドウサイズの保存と復元
                if (DeviceTypeHelper.IsDesktop)
                {
                    var localObjectStorageHelper = Microsoft.Toolkit.Mvvm.DependencyInjection.Ioc.Default.GetService <Microsoft.Toolkit.Uwp.Helpers.LocalObjectStorageHelper>();
                    if (localObjectStorageHelper.KeyExists(secondary_view_size))
                    {
                        view.TryResizeView(localObjectStorageHelper.Read <Size>(secondary_view_size));
                    }

                    view.VisibleBoundsChanged += View_VisibleBoundsChanged;
                }

                PlaylistPlayer = Microsoft.Toolkit.Mvvm.DependencyInjection.Ioc.Default.GetService <HohoemaPlaylistPlayer>();

                view.Consolidated += SecondaryAppView_Consolidated;

                _PlayerPageNavgationTransitionInfo = new DrillInNavigationTransitionInfo();
                _BlankPageNavgationTransitionInfo  = new SuppressNavigationTransitionInfo();

                return(id, view, ns);
            });

            SecondaryAppView     = result.view;
            SecondaryCoreAppView = secondaryView;
            SecondaryViewPlayerNavigationService = result.ns;

            _scheduler.Schedule(() =>
            {
                var primaryView           = ApplicationView.GetForCurrentView();
                primaryView.Consolidated += MainView_Consolidated;
            });
        }
Exemple #6
0
        public void NavigateToPage(AppMenuItemType type, object parameter = null, bool isBack = false)
        {
            if (PageSplitView.DisplayMode == SplitViewDisplayMode.CompactOverlay)
            {
                IsSubPageOpen = false;
            }
            var  last     = MainFrameHistoryList.LastOrDefault();
            var  page     = GetPageTypeFromMenuType(type);
            bool isRepeat = false;

            if (last != null && last.Item1 == page && last.Item2 == parameter)
            {
                isRepeat = true;
            }
            if (page != null)
            {
                App.AppViewModel.CurrentPageType = page;
                NavigationTransitionInfo transitionInfo = null;
                if (type == AppMenuItemType.VideoPlayer || !App.AppViewModel.IsEnableAnimation)
                {
                    transitionInfo = new SuppressNavigationTransitionInfo();
                }
                else
                {
                    if (isBack)
                    {
                        transitionInfo = new EntranceNavigationTransitionInfo();
                    }
                    else
                    {
                        transitionInfo = new DrillInNavigationTransitionInfo();
                    }
                }
                PageFrame.Navigate(page, parameter, transitionInfo);
                if (!isBack)
                {
                    if (page.Equals(typeof(Pages.Main.VideoPage)) || page.Equals(typeof(Pages.Main.BangumiPage)))
                    {
                        MainFrameHistoryList.RemoveAll(p => p.Item1 == page);
                    }
                    if (!isRepeat)
                    {
                        MainFrameHistoryList.Add(new Tuple <Type, object>(page, parameter));
                    }
                    if (MainFrameHistoryList.Count > 1)
                    {
                        BackButton.Visibility = Visibility.Visible;
                    }
                }
                IsDefault = false;
            }
            else
            {
                IsDefault = true;
            }
            PageFrame.Focus(FocusState.Programmatic);
        }
Exemple #7
0
        protected virtual void SetUpPageAnimation()
        {
            TransitionCollection      collection = new TransitionCollection();
            NavigationThemeTransition theme      = new NavigationThemeTransition();

            var info = new DrillInNavigationTransitionInfo();

            theme.DefaultNavigationTransitionInfo = info;
            collection.Add(theme);
            this.Transitions = collection;
        }
Exemple #8
0
        /// <summary>
        /// Exibir uma página com uma transição de entrada.
        /// </summary>
        /// <param name="p">Página a ser adicionada a transição.</param>
        public static void Transition(Page p)
        {
            TransitionCollection      collection = new TransitionCollection();
            NavigationThemeTransition theme      = new NavigationThemeTransition();

            var info = new DrillInNavigationTransitionInfo();

            theme.DefaultNavigationTransitionInfo = info;
            collection.Add(theme);
            p.Transitions = collection;
        }
Exemple #9
0
        private void InitTransitions()
        {
            TransitionCollection      collection = new TransitionCollection();
            NavigationThemeTransition theme      = new NavigationThemeTransition();

            var info = new DrillInNavigationTransitionInfo();

            theme.DefaultNavigationTransitionInfo = info;
            collection.Add(theme);
            rootFrame.ContentTransitions = collection;
        }
Exemple #10
0
        private void NavigateToPage(object naviItem, bool isSettingsPage, NavigationViewPaneDisplayMode paneDisplayMode)
        {
            if (!(naviItem is NavigationViewItem item))
            {
                return;
            }

            var targetInfo = GetTargetNaviInfo(item.Name, isSettingsPage);

            if (targetInfo.Page == null || targetInfo.Page == NaviContent.Content?.GetType())
            {
                return;
            }

            // Get current selected index of navimenu
            var index = NaviMenu.MenuItems.IndexOf(item);

            if (isSettingsPage)
            {
                item.Content = App.CultureResource.GetString("NaviMenu_Item_Settings/Content");
                index        = NaviMenu.MenuItems.Count;
            }

            // Set up page transition effect base on pane display mode
            NavigationTransitionInfo transition;

            if (paneDisplayMode == NavigationViewPaneDisplayMode.Top)
            {
                transition = new SlideNavigationTransitionInfo
                {
                    Effect = lastSelectedItemIndex <= index ? SlideNavigationTransitionEffect.FromRight : SlideNavigationTransitionEffect.FromLeft
                };
            }
            else
            {
                transition = new DrillInNavigationTransitionInfo();
            }

            // Update navi history and last selected index of navimenu
            if (lastSelectedItemIndex != -1)
            {
                navimenuNaviHistory.Push(lastSelectedItemIndex);
            }
            lastSelectedItemIndex = index;

            // Navigate to page
            NaviContent.Navigate(targetInfo.Page, targetInfo.Parameter, transition);

            // Set current selected item for navimenu
            NaviMenu.SelectedItem = naviItem;
        }
Exemple #11
0
        public AppWindowSecondaryViewPlayerManager(
            AppearanceSettings appearanceSettings,
            HohoemaPlaylistPlayer playlistPlayer,
            Presentation.Services.CurrentActiveWindowUIContextService currentActiveWindowUIContextService
            )
        {
            _appearanceSettings = appearanceSettings;
            _playlistPlayer     = playlistPlayer;
            _currentActiveWindowUIContextService = currentActiveWindowUIContextService;
            _PlayerPageNavgationTransitionInfo   = new DrillInNavigationTransitionInfo();
            _BlankPageNavgationTransitionInfo    = new SuppressNavigationTransitionInfo();

            _dispatcherQueue = DispatcherQueue.GetForCurrentThread();

            ApplicationView.GetForCurrentView().Consolidated += AppWindowSecondaryViewPlayerManager_Consolidated;;
        }
        public void NavigateToSubPage(Type page, object parameter = null, bool isBack = false)
        {
            var  last     = SubFrameHistoryList.LastOrDefault();
            bool isRepeat = false;

            if (last != null && last.Item1 == page && last.Item2 == parameter)
            {
                isRepeat = true;
            }
            NavigationTransitionInfo transitionInfo = null;

            if (!App.AppViewModel.IsEnableAnimation)
            {
                transitionInfo = new SuppressNavigationTransitionInfo();
            }
            else
            {
                transitionInfo = new DrillInNavigationTransitionInfo();
            }
            SubPageFrame.Navigate(page, parameter, transitionInfo);
            if (!isBack)
            {
                if (!isRepeat)
                {
                    if (page.Equals(typeof(Pages_Share.Sub.ReplyPage)))
                    {
                        SubFrameHistoryList.RemoveAll(p => p.Item1 == page);
                    }
                    SubFrameHistoryList.Add(new Tuple <Type, object>(page, parameter));
                }
                if (SubFrameHistoryList.Count > 1)
                {
                    SubBackButton.Visibility = Visibility.Visible;
                }
            }
        }
 private void OnBackRequested()
 {
     //animacija pri navigaciji nazad
     DrillInNavigationTransitionInfo d = new DrillInNavigationTransitionInfo();
     Frame.GoBack(d);
 }
Exemple #14
0
        private void btnGotoDrillInNavigationTransitionInfo_Click2(object sender, RoutedEventArgs e)
        {
            DrillInNavigationTransitionInfo drillInTransition = new DrillInNavigationTransitionInfo();

            this.Frame.Navigate(typeof(MyFrame), drillInTransition);
        }