상속: ForumsNavigationArgs
예제 #1
0
        public void Init(ForumsBoardNavigationArgs args,bool force = false)
        {
            if (_forceReloadOnNextInit)//navigating from crete new topic
            {
                force = true; 
                _forceReloadOnNextInit = false;
            }


            if (!force)
            {
                if (_initizalizing)
                    return;
                if (args.Equals(PrevArgs))
                    return;
            }
            _initizalizing = true;
            PrevArgs = args;

            LoadPage(args.PageNumber,false,force);

            switch (args.WorkMode)
            {
                case ForumBoardPageWorkModes.Standard:
                    PageNavigationControlsVisibility = SearchButtonVisibility = true;
                    Title = args.TargetBoard.GetDescription();
                    Icon = Utilities.BoardToIcon(args.TargetBoard);
                    break;
                case ForumBoardPageWorkModes.AnimeBoard:
                    SearchButtonVisibility = false;
                    PageNavigationControlsVisibility = true;
                    Title = args.AnimeTitle;
                    Icon = FontAwesomeIcon.Tv;
                    break;
                case ForumBoardPageWorkModes.MangaBoard:
                    SearchButtonVisibility = false;
                    PageNavigationControlsVisibility = true;
                    Title = args.AnimeTitle;
                    Icon = FontAwesomeIcon.Book;
                    break;
                case ForumBoardPageWorkModes.Search:
                    PageNavigationControlsVisibility = SearchButtonVisibility = false;
                    Title = "Search - " + args.Query;
                    Icon = args.Scope == null ? FontAwesomeIcon.Search : Utilities.BoardToIcon(args.Scope.Value);
                    break;
                case ForumBoardPageWorkModes.UserSearch: //for now user is logged in user
                    Title = "My Recent Posts";
                    PageNavigationControlsVisibility = true;
                    SearchButtonVisibility = false;
                    Icon = FontAwesomeIcon.ClockOutline;
                    break;
                case ForumBoardPageWorkModes.WatchedTopics:
                    Icon = FontAwesomeIcon.Eye;
                    Title = "Watched Topics";
                    PageNavigationControlsVisibility = true;
                    SearchButtonVisibility = false;
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            if (args.WorkMode == ForumBoardPageWorkModes.Search || args.WorkMode == ForumBoardPageWorkModes.UserSearch ||
                args.WorkMode == ForumBoardPageWorkModes.WatchedTopics || args.TargetBoard == ForumBoards.NewsDisc ||
                args.TargetBoard == ForumBoards.AnimeSeriesDisc || args.TargetBoard == ForumBoards.MangaSeriesDisc ||
                args.TargetBoard == ForumBoards.Updates || args.TargetBoard == ForumBoards.Guidelines)
                NewTopicButtonVisibility = false;
            else
                NewTopicButtonVisibility = true;
        }
예제 #2
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     _args = e.Parameter as ForumsBoardNavigationArgs;
     base.OnNavigatedTo(e);
 }