public override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            base.OnNavigatedTo(e, viewModelState);
            Directory = DirectoryService.Instance;

            var parameters   = DirectoryListPageParameters.Deserialize(e.Parameter);
            var resourceInfo = parameters?.ResourceInfo;

            if (resourceInfo != null)
            {
                Directory.RebuildPathStackFromResourceInfo(resourceInfo);
            }

            _selectedPathIndex = Directory.PathStack.Count - 1;
            _isNavigatingBack  = false;
            StartDirectoryListing();
        }
示例#2
0
        protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args)
        {
            // Ensure the current window is active
            Window.Current.Activate();
            // Remove unnecessary notifications whenever the app is used.
            ToastNotificationManager.History.RemoveGroup(ToastNotificationService.SyncAction);
            PinStartPageParameters pageParameters = null;

            if (!string.IsNullOrEmpty(args?.Arguments))
            {
                var tmpResourceInfo = JsonConvert.DeserializeObject <ResourceInfo>(args.Arguments);
                if (tmpResourceInfo != null)
                {
                    pageParameters = new PinStartPageParameters()
                    {
                        ResourceInfo = tmpResourceInfo,
                        PageTarget   = tmpResourceInfo.IsDirectory ? PageToken.DirectoryList : PageToken.FileInfo
                    };
                }
            }
            if (SettingsService.Default.Value.LocalSettings.UseWindowsHello)
            {
                CheckSettingsAndContinue(PageToken.Verification, pageParameters);
            }
            else
            {
                IPageParameters resourceInfoPageParameters = null;
                if (pageParameters?.PageTarget == PageToken.DirectoryList)
                {
                    resourceInfoPageParameters = new DirectoryListPageParameters
                    {
                        ResourceInfo = pageParameters?.ResourceInfo
                    };
                }
                else if (pageParameters?.PageTarget == PageToken.FileInfo)
                {
                    resourceInfoPageParameters = new FileInfoPageParameters
                    {
                        ResourceInfo = pageParameters?.ResourceInfo
                    };
                }
                CheckSettingsAndContinue(pageParameters?.PageTarget ?? PageToken.DirectoryList, resourceInfoPageParameters);
            }
            return(Task.FromResult(true));
        }