示例#1
0
 public Task<bool> NavigateAsync(Type page, object parameter = null, bool isFullScreen = false, NavigationTransitionInfo infoOverride = null)
 {
     return Task.Run(() =>
     {
         return false;
     }
     );
 }
示例#2
0
        public static Boolean Navigate(Type pageType, object parameter = null, NavigationTransitionInfo transitionOverride = null)
        {
            EnsureReady();

            var key = (_frame.Content == null) ? "Page-0" : "Page-" + (_frame.BackStackDepth + 1);

            if (SuspensionManager.ParameterStates.ContainsKey(key))
                SuspensionManager.ParameterStates[key] = parameter;
            else
                SuspensionManager.ParameterStates.Add(key, parameter);

            return _frame.Navigate(pageType, key, transitionOverride);
        }
示例#3
0
 public void Navigate(Type page, object parameter = null, NavigationTransitionInfo infoOverride = null)
 => NavigateAsync(page, parameter, infoOverride).ConfigureAwait(true);
示例#4
0
 public static void Navigate(Type pageType, object parameter = null, NavigationTransitionInfo infoOverride = null)
 {
     NavigationService.Navigate(pageType, parameter, infoOverride);
 }
示例#5
0
 public static bool NavigateEx(this Frame frame, Type page, object parameter = null, NavigationTransitionInfo infoOverride = null)
 => frame.GetNavigationService().Navigate(page, parameter, infoOverride);
 public async Task <INavigationResult> NavigateAsync(Uri uri, INavigationParameters parameter, NavigationTransitionInfo infoOverride)
 {
     System.Diagnostics.Debug.WriteLine($"{nameof(NavigationService)}.{nameof(NavigateAsync)}({uri})");
     return(await _frame.NavigateAsync(
                uri : uri,
                parameter : parameter,
                infoOverride : infoOverride));
 }
示例#7
0
 /// <summary>
 /// Navigates to previous entry.
 /// </summary>
 /// <param name="infoOverride">The navigation transition</param>
 /// <returns></returns>
 public async Task GoBackAsync(NavigationTransitionInfo infoOverride)
 {
     await PerformNavigationAsync(() => frameFacade.GoBack(infoOverride));
 }
示例#8
0
 bool IFrameFacadeInternal.Navigate(Type page, object parameter, NavigationTransitionInfo info) => xamlFrame.Navigate(page, parameter, info);
 public async Task <INavigationResult> GoBackAsync(INavigationParameters parameters = null, NavigationTransitionInfo infoOverride = null)
 => await _frame.GoBackAsync(
     parameters : parameters,
     infoOverride : infoOverride);
示例#10
0
 public void GoBack(NavigationTransitionInfo infoOverride = null) => GoBackAsync(infoOverride).ConfigureAwait(true);
示例#11
0
 public Task<bool> NavigateAsync(Type sourcePageType, object parameter, NavigationTransitionInfo transitionInfo, bool forceNewStack = false)
     => OnNavigateAsync?.Invoke(sourcePageType, parameter, transitionInfo, forceNewStack);
示例#12
0
 public static void NavigateAdaptive(Type page, object parameter = null, bool clearHistory = false, NavigationTransitionInfo infoOverride = null)
 {
     if (AnalyticsInfo.VersionInfo.DeviceFamily == "Windows.Mobile")
     {
         Main.Navigate(page, parameter, clearHistory, infoOverride);
     }
     else
     {
         var flyout = new PopupControl();
         var frame  = new Frame();
         frame.Navigate(page, parameter, new SuppressNavigationTransitionInfo());
         flyout.FlyoutContent = frame;
         flyout.Show();
     }
 }
示例#13
0
 public bool Navigate <T>(object parameter = null, NavigationTransitionInfo infoOverride = null)
     where T : ViewModelBase
 => Navigate(typeof(T).FullName, parameter, infoOverride);
示例#14
0
 public NavigationConfig(bool registerOnBackStack = true, object parameter = null, NavigationTransitionInfo infoOverride = null)
 {
     RegisterOnBackStack = registerOnBackStack;
     Parameter           = parameter;
     InfoOverride        = infoOverride;
 }
        public void Navigate(Type page, object parameter = null, NavigationTransitionInfo infoOverride = null)
        {
            DebugWrite($"Page: {page}, Parameter: {parameter}, NavigationTransitionInfo: {infoOverride}");

            NavigateAsync(page, parameter, infoOverride).ConfigureAwait(false).GetAwaiter().GetResult();
        }
示例#16
0
        public async Task<bool> NavigateAsync(
            Type sourcePageType, 
            object parameter, 
            NavigationTransitionInfo transitionInfo, 
            bool forceNewStack = false)
        {
            var result = false;

            await _dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                if (forceNewStack && !_forceNewStack()) return;
                _menuViewModel.Value.IsMenuVisible = false;
                _telemetryClientProvider.Client.TrackPageView(sourcePageType.FullName);

                result = RootFrame.Navigate(sourcePageType, parameter, transitionInfo ?? _defaultTransition);
                GC.Collect();
            });

            return result;
        }
示例#17
0
 public bool Navigate(Type sourcePageType, object parameter, NavigationTransitionInfo infoOverride, bool forceNewBackStack = false)
 {
     throw new NotImplementedException();
 }
示例#18
0
 public SampleItem(string displayName, Type sourcePageType, NavigationTransitionInfo navigationTransitionInfo)
 {
     DisplayName = displayName;
     SourcePageType = sourcePageType;
     NavigationTransitionInfo = navigationTransitionInfo;
 }
示例#19
0
 public static bool Navigate <T>(object parameter = null, NavigationTransitionInfo infoOverride = null)
     where T : Page
 => Navigate(typeof(T), parameter, infoOverride);
示例#20
0
 public void GoBack(NavigationTransitionInfo infoOverride = null)
 {
     throw new NotImplementedException();
 }
示例#21
0
 public Task <bool> NavigateAsync(Type page, object parameter = null, NavigationTransitionInfo infoOverride = null)
 {
     throw new NotImplementedException();
 }
示例#22
0
 public Task <bool> NavigateAsync <T>(T key, object parameter = null, NavigationTransitionInfo infoOverride = null) where T : struct, IConvertible
 {
     throw new NotImplementedException();
 }
示例#23
0
文件: Frame.cs 项目: zhuzilyy/uno
        public bool Navigate(Type sourcePageType, object parameter, NavigationTransitionInfo infoOverride)
        {
            var entry = new PageStackEntry(sourcePageType, parameter, infoOverride);

            return(InnerNavigate(entry, NavigationMode.New));
        }
示例#24
0
        public bool Navigate(Type pageType, bool isSyncTabRequested = false, object data = null, NavigationTransitionInfo info = null)
        {
            if (isSyncTabRequested)
            {
                this.SyncTabWith(pageType);
            }

            this.backItemStack.Push(this.selected);
            return(this.frame.Navigate(pageType, data, info));
        }
 public async Task <INavigationResult> NavigateAsync(string path, INavigationParameters parameter, NavigationTransitionInfo infoOverride)
 => await NavigateAsync(
     uri : new Uri(path, UriKind.RelativeOrAbsolute),
     parameter : parameter,
     infoOverride : infoOverride);
示例#26
0
 public bool Navigate <T>(bool isSyncTabRequested = false, object data = null, NavigationTransitionInfo info = null) where T : System.Windows.Controls.Page => this.Navigate(typeof(T), isSyncTabRequested, data, info);
示例#27
0
 /// <summary>
 /// Navigates to the page.
 /// </summary>
 /// <param name="sourcePageType">The page type</param>
 /// <param name="parameter">The parameter</param>
 /// <param name="infoOverride">The navigation transition</param>
 /// <returns></returns>
 public async Task NavigateAsync(Type sourcePageType, object parameter, NavigationTransitionInfo infoOverride)
 {
     await PerformNavigationAsync(() => frameFacade.Navigate(sourcePageType, parameter, infoOverride));
 }
示例#28
0
 bool IFrameEx2.Navigate(Type page, object parameter, NavigationTransitionInfo info) => Two.Frame.Navigate(page, parameter, info);
示例#29
0
 public static void UpdateView(Type pageType, object parameters = null, NavigationTransitionInfo infoOverride = null)
 {
     NavigationService.Navigate(pageType, parameters, infoOverride, true);
 }
示例#30
0
        public void GoBack(NavigationTransitionInfo infoOverride = null)
        {
            DebugWrite($"CanGoBack {CanGoBack}");

            NavigationModeHint = NavigationMode.Back;
            if (CanGoBack)
            {
                if (infoOverride == null) Frame.GoBack();
                else Frame.GoBack(infoOverride);
            }
        }
示例#31
0
 public static async Task OpenInDialog(Type pageType, object parameter = null, NavigationTransitionInfo infoOverride = null)
 {
     var dialog = ShellContentDialog.Create(pageType, parameter, infoOverride);
     await dialog.ShowAsync();
 }
示例#32
0
 public SettingsFrameNavigationDataModel(SettingsPageType pageType, NavigationTransitionInfo transitionInfo)
 {
     this.pageType       = pageType;
     this.transitionInfo = transitionInfo;
 }
示例#33
0
 public static bool NavigateEx <T>(this Frame frame, T key, object parameter = null, NavigationTransitionInfo infoOverride = null) where T : struct, IConvertible
 => frame.GetNavigationService().Navigate(key, parameter, infoOverride);
示例#34
0
 public void GoBack(NavigationTransitionInfo infoOverride = null)
 {
     _contentDialog.Hide(ContentDialogBaseResult.None);
 }
示例#35
0
 public void Navigate <T>(T key, object parameter = null, NavigationTransitionInfo infoOverride = null)
     where T : struct, IConvertible => NavigateAsync(key, parameter, infoOverride).ConfigureAwait(true);
示例#36
0
 internal void GoBack(NavigationTransitionInfo infoOverride = null) => _Frame.GoBack();
示例#37
0
        public static void Navigate <T>(this INavigationService service, Type page, object parameter = null, IDictionary <string, object> state = null, NavigationTransitionInfo infoOverride = null)
        {
            //NavigatedEventHandler handler = null;
            //handler = (s, args) =>
            //{
            //    service.Frame.Navigated -= handler;

            //    var navigated = args.Content as Page;
            //    if (navigated != null && args.SourcePageType == page)
            //    {
            //        navigated.DataContext = UnigramContainer.Instance.ResolveType<T>();
            //    }
            //};

            ViewModels.Enqueue(typeof(T));
            service.Navigate(page, parameter, state, infoOverride);
        }
示例#38
0
 internal bool Navigate(Type page, object parameter, NavigationTransitionInfo info) => _Frame.Navigate(page, parameter, info);
示例#39
0
        public async void Navigate(Type page, object parameter = null, NavigationTransitionInfo infoOverride = null)
        {
            DebugWrite($"Page: {page}, Parameter: {parameter}, NavigationTransitionInfo: {infoOverride}");

            await NavigateAsync(page, parameter, infoOverride);
        }
示例#40
0
 public bool Navigate(Type page, object parameter = null, NavigationTransitionInfo infoOverride = null)
 {
     if (page == null)
         throw new ArgumentNullException(nameof(page));
     if (page.FullName.Equals(LastNavigationType)
         && parameter == LastNavigationParameter)
         return false;
     return FrameFacade.Navigate(page, parameter, infoOverride);
 }
示例#41
0
        public bool Navigate(Type page, object parameter, NavigationTransitionInfo infoOverride)
        {
            DebugWrite();

            if (Frame.Navigate(page, parameter, infoOverride))
            {
                return page.Equals(Frame.Content?.GetType());
            }
            else
            {
                return false;
            }
        }
示例#42
0
 public bool Navigate(Type page, object parameter, NavigationTransitionInfo infoOverride)
 {
     return(Frame.Navigate(page, parameter, infoOverride));
 }
示例#43
0
 public bool Navigate(Type page, object parameter, NavigationTransitionInfo infoOverride) => Frame.Navigate(page, parameter, infoOverride);
示例#44
0
 void IFrameFacadeInternal.GoBack(NavigationTransitionInfo info) => xamlFrame.GoBack();