public Task <INavigationResult> GoBackAsync(INavigationParameters parameters) =>
 Task.FromResult <INavigationResult>(new StubNavigationResult());
 public void OnNavigatedTo(INavigationParameters parameters)
 {
     NavigatedTo = true;
 }
예제 #3
0
 public virtual void Initialize(INavigationParameters parameters)
 {
 }
예제 #4
0
 public void OnNavigatingTo(INavigationParameters parameters)
 {
 }
예제 #5
0
        public override void OnNavigatedTo(INavigationParameters parameters)
        {
            base.OnNavigatedTo(parameters);

            User = new UserModel();
        }
예제 #6
0
 public virtual void OnNavigatedTo(INavigationParameters parameters)
 {
 }
예제 #7
0
 public async void OnNavigatedTo(INavigationParameters parameters)
 {
 }
예제 #8
0
 public void Initialize(INavigationParameters parameters)
 {
     throw new NotImplementedException();
 }
예제 #9
0
        public async Task OnNavigatedToAsync(INavigationParameters parameters)
        {
            string userId = null;

            if (parameters.TryGetValue <string>("id", out var id))
            {
                userId = id;
            }

            if (userId == UserId)
            {
                return;
            }

            UserId = userId;


            // ログインユーザーと同じ場合、お気に入り表示をOFFに
            IsLoginUser = NiconicoSession.UserId.ToString() == userId;

            IsLoadFailed = false;

            MylistGroups.Clear();
            VideoInfoItems.Clear();

            try
            {
                var userInfo = await UserProvider.GetUserDetail(UserId);

                var user = userInfo;
                UserName    = user.Nickname;
                UserIconUri = user.ThumbnailUri;

                FollowerCount  = user.FollowerCount;
                StampCount     = user.StampCount;
                VideoCount     = user.TotalVideoCount;
                IsVideoPrivate = user.IsOwnerVideoPrivate;
            }
            catch
            {
                IsLoadFailed = true;
            }


            if (UserId == null)
            {
                return;
            }


            // NGユーザーの設定

            if (!IsLoginUser)
            {
                var ngResult = NgSettings.IsNgVideoOwnerId(UserId);
                IsNGVideoOwner.Value = ngResult != null;
            }
            else
            {
                IsNGVideoOwner.Value = false;
            }

            try
            {
                await Task.Delay(500);

                var userVideos = await UserProvider.GetUserVideos(uint.Parse(UserId), 1);

                foreach (var item in userVideos.Items.Take(5))
                {
                    var vm = new VideoInfoControlViewModel(item.VideoId);
                    vm.SetTitle(item.Title);
                    vm.SetThumbnailImage(item.ThumbnailUrl.OriginalString);
                    VideoInfoItems.Add(vm);
                }
                RaisePropertyChanged(nameof(VideoInfoItems));
            }
            catch (Exception ex)
            {
                IsLoadFailed = true;
                Debug.WriteLine(ex.Message);
            }

            HasOwnerVideo = VideoInfoItems.Count != 0;


            if (NiconicoSession.IsLoginUserId(UserId))
            {
                foreach (var item in UserMylistManager.Mylists)
                {
                    MylistGroups.Add(new MylistGroupListItem(item));
                }
            }
            else
            {
                try
                {
                    //					await Task.Delay(500);

                    var mylistGroups = await UserProvider.GetUserMylistGroups(UserId);

                    foreach (var item in mylistGroups)
                    {
                        MylistGroups.Add(new MylistGroupListItem(item));
                    }
                }
                catch (Exception ex)
                {
                    IsLoadFailed = true;
                    Debug.WriteLine(ex.Message);
                }
            }
            RaisePropertyChanged(nameof(MylistGroups));


            UserBookmark = Database.BookmarkDb.Get(Database.BookmarkType.User, UserId)
                           ?? new Database.Bookmark()
            {
                Content      = UserId,
                Label        = UserName,
                BookmarkType = Database.BookmarkType.User
            };

            RaisePropertyChanged(nameof(UserBookmark));


            FollowToggleButtonService.SetFollowTarget(this);
        }
 public override void OnNavigatingTo(INavigationParameters parameters)
 {
     LoadDraftManifestAsync();
 }
예제 #11
0
 public override void OnNavigatedTo(INavigationParameters parameters)
 {
 }
예제 #12
0
        public static async Task GoBackTAsync(this ViewModelBase viewModelBase, INavigationParameters parameters)
        {
            var r = await viewModelBase.NavigationService.GoBackAsync(parameters);

            ThrowIfNotSuccess(r);
        }
예제 #13
0
        public static async Task NavigateTAsync(this ViewModelBase viewModelBase, Uri uri, INavigationParameters parameters)
        {
            var r = await viewModelBase.NavigationService.NavigateAsync(uri, parameters);

            ThrowIfNotSuccess(r);
        }
예제 #14
0
 public Task <INavigationResult> NavigateAsync(string name, INavigationParameters parameters) =>
 Task.FromResult <INavigationResult>(new StubNavigationResult());
예제 #15
0
 public virtual bool CanNavigate(INavigationParameters parameters)
 {
     return(true);
 }
예제 #16
0
 public override void OnNavigatedFrom(INavigationParameters parameters)
 {
     base.OnNavigatedFrom(parameters);
 }
예제 #17
0
 public Task <bool> CanNavigateAsync(INavigationParameters parameters)
 {
     return(Task.FromResult(true));
 }
예제 #18
0
 public override void OnNavigatedTo(INavigationParameters parameters)
 {
     this.Copy    = parameters.GetValue <string>("content");
     this.Subject = parameters.GetValue <string>("subject");
 }
예제 #19
0
 public override void OnNavigatedTo(INavigationParameters parameters)
 {
     VeiculoId = parameters.GetValue <int>("veiculoId");
 }
예제 #20
0
 public override void OnNavigatingTo(INavigationParameters parameters)
 {
     // Intentionally empty
 }
예제 #21
0
 public void OnNavigatedFrom(INavigationParameters parameters)
 {
 }
예제 #22
0
        private void DoNavigate(Uri source, Action <IRegionNavigationResult> navigationCallback, INavigationParameters regionParameters)
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }

            if (Region == null)
            {
                throw new InvalidOperationException(Resources.NavigationServiceHasNoRegion);
            }

            _currentNavigationContext = new NavigationContext(this, source, regionParameters);

            // starts querying the active views
            RequestCanNavigateFromOnCurrentlyActiveView(
                _currentNavigationContext,
                navigationCallback,
                Region.ActiveViews.ToArray(),
                0);
        }
예제 #23
0
        private async Task <INavigationResult> OrchestrateAsync(
            INavigationParameters parameters,
            Prism.Navigation.NavigationMode mode,
            Func <Task <bool> > navigate)
        {
            // setup default parameters

            parameters = CreateDefaultParameters(parameters, mode);

            // pre-events

            var old_vm = (_frame.Content as Page)?.DataContext;

            if (old_vm is null)
            {
                _logger.Log($"No view-model is set for source page; this is okay; skipping all the [from] overrides including CanNavigate/Async.", Category.Info, Priority.None);
            }
            else if (!await CanNavigateAsync(parameters, old_vm))
            {
                return(this.NavigationFailure($"[From]{old_vm}.CanNavigateAsync returned false; this is okay; FrameFacade orchestration will stop here."));
            }
            else if (!CanNavigate(parameters, old_vm))
            {
                return(this.NavigationFailure($"[From]{old_vm}.CanNavigate returned false; this is okay; FrameFacade orchestration will stop here."));
            }

            // navigate

            var success = await NavigateFrameAsync(navigate);

            _logger.Log($"{nameof(FrameFacade)}.{nameof(OrchestrateAsync)}.NavigateFrameAsync() returned {success}.", Category.Info, Priority.None);
            if (!success)
            {
                return(this.NavigationFailure("NavigateFrameAsync() returned false; this is very unusual, but possibly okay; FrameFacade orchestration will stop here."));
            }

            if (!(_frame.Content is Page new_page))
            {
                var message = "There is no new page in FrameFacade after NavigateFrameAsync; this is a critical failure. Check the page constructor, maybe?";
                _logger.Log(message, Category.Exception, Priority.High);
                throw new Exception(message);
            }

            // post-events

            if (old_vm != null)
            {
                OnNavigatedFrom(parameters, old_vm);
            }

            var new_vm = new_page?.DataContext;

            if (new_vm is null)
            {
                if (Mvvm.ViewModelLocator.GetAutowireViewModel(new_page) is null)
                {
                    // developer didn't set autowire, and did't set datacontext manually
                    _logger.Log("No view-model is set for target page, we will attempt to find view-model declared using RegisterForNavigation<P, VM>().", Category.Info, Priority.None);

                    // set the autowire & see if we can find it for them
                    Mvvm.ViewModelLocator.SetAutowireViewModel(new_page, true);

                    // TODO: I wonder if I need to delay for a second?

                    new_vm = new_page.DataContext;
                }
            }

            if (new_vm is null)
            {
                _logger.Log($"View-Model for source page not found; this is okay, skipping all the [to] overides.", Category.Info, Priority.None);
            }
            else
            {
                OnNavigatingTo(parameters, new_vm);
                await OnNavigatedToAsync(parameters, new_vm);

                OnNavigatedTo(parameters, new_vm);
            }

            // refresh-bindings

            BindingUtilities.UpdateBindings(new_page);

            // finally

            return(this.NavigationSuccess());
        }
예제 #24
0
        /// <summary>
        /// Initiates navigation to the specified target.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="navigationCallback">A callback to execute when the navigation request is completed.</param>
        /// <param name="regionParameters">The navigation parameters specific to the navigation request.</param>
        public void RequestNavigate(Uri target, Action <IRegionNavigationResult> navigationCallback, INavigationParameters regionParameters)
        {
            if (navigationCallback == null)
            {
                throw new ArgumentNullException(nameof(navigationCallback));
            }

            try
            {
                DoNavigate(target, navigationCallback, regionParameters);
            }
            catch (Exception e)
            {
                NotifyNavigationFailed(new NavigationContext(this, target), navigationCallback, e);
            }
        }
 public void OnNavigatedFrom(INavigationParameters parameters)
 {
     _eventAggregator.GetEvent <NavigatedFromEvent>().Publish();
 }
예제 #26
0
 public static async Task NavigateAsync(this IRegionManager regionManager, string regionName, string target, INavigationParameters parentParameters, params (string key, object value)[] parameters)
예제 #27
0
 public virtual void OnNavigatedFrom(INavigationParameters parameters)
 {
     this.deactivateWith?.Dispose();
     this.deactivateWith = null;
 }
예제 #28
0
 public override void OnNavigatingTo(INavigationParameters parameters)
 {
     base.OnNavigatedTo(parameters);
     this.adapter = parameters.GetValue <IAdapter>("adapter");
     this.Title   = $"{this.adapter.DeviceName} ({this.adapter.Status})";
 }
예제 #29
0
 public virtual Task InitializeAsync(INavigationParameters parameters) => Task.CompletedTask;
예제 #30
0
 public override async void OnNavigatingTo(INavigationParameters parameters)
 {
     // await InitializeAsync();
 }