예제 #1
0
        public override async Task AppearingAsync(ShellLifecycleArgs args)
        {
            var incomingPage = args.RoutePath.GetCurrentPage();

            #region backbutton
            //var backButtonBehavior = Shell.GetBackButtonBehavior(incomingPage);

            //if (navigationStack.Count > 1)
            //{
            //    backButtonBehavior.TextOverride = "Back";
            //}
            //else
            //{
            //    backButtonBehavior.TextOverride = null;
            //}
            #endregion

            #region animation
            //if (_lastPage != null)
            //{
            //    incomingPage.Scale = 0;
            //    incomingPage.Rotation = 3600;

            //    Device.BeginInvokeOnMainThread(async () =>
            //    {
            //        await Task.WhenAll(incomingPage.ScaleTo(1, 500), incomingPage.RotateTo(0, 600));
            //    });
            //}
            #endregion

            _lastPage = incomingPage;

            await base.AppearingAsync(args);
        }
예제 #2
0
        public override void ApplyParameters(ShellLifecycleArgs args)
        {
            base.ApplyParameters(args);

            var    element              = args.Element;
            var    prismParameters      = _currentParameters;
            string fullSegmentPath      = args.PathPart.NavigationParameters["foo"];
            var    navigationParameters = UriParsingHelper.GetSegmentParameters(fullSegmentPath, _currentParameters);

            PageUtilities.OnInitializedAsync(element, navigationParameters);

            if (element is ShellContent content && content.Content != null)
            {
                PageUtilities.OnInitializedAsync(content.Content, navigationParameters);
            }
        }
예제 #3
0
 public override Task AppearingAsync(ShellLifecycleArgs args)
 {
     return(base.AppearingAsync(args));
 }