protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { if (PageHelper.SessionHistoryHandleNavigateTo(NavigationService)) { return; } PageHelper.InitAdControl(AdGrid); var parameters = NavigationContext.QueryString; if (parameters.ContainsKey("Url")) { _url = parameters["Url"]; } else { _url = null; } if (parameters.ContainsKey("ClubHome")) { _clubHome = bool.Parse(parameters["ClubHome"]); } else { _clubHome = false; } if (State.ContainsKey("Url")) { _url = (String)State["Url"]; } if (_clubGroup == null || !_clubGroup.IsLoaded) { if (_clubGroup != null) { _clubGroup.ClubGroupLoaded -= ClubGroup_Loaded; } _clubGroup = CreateClubGroup(); _clubGroup.ClubGroupLoaded += ClubGroup_Loaded; DataContext = _clubGroup; } if (parameters.ContainsKey("Name")) { if (String.IsNullOrEmpty(_clubGroup.ClubGroupName)) { _clubGroup.ClubGroupName = parameters["Name"]; } } App.Settings.CurrentSessionHistory.SetLastPageName(NavigationService, _clubGroup.ClubGroupName, "俱乐部分类"); if (!_clubGroup.IsLoaded && State.ContainsKey("ScrollOffset")) { _scrollOffset = (double)State["ScrollOffset"]; } else { _scrollOffset = -1; } base.OnNavigatedTo(e); if (!_clubGroup.IsLoaded) { LoadClubGroup(); } }
private void LoadClubGroup() { (ApplicationBar.Buttons[0] as ApplicationBarIconButton).IsEnabled = false; //refresh button (ApplicationBar.MenuItems[0] as ApplicationBarMenuItem).IsEnabled = false; //setting menu LoadClubGroupProgressBar.Visibility = Visibility.Visible; ClubGroupLoadingText.Visibility = Visibility.Visible; ClubGroupNameTextBlock.Visibility = Visibility.Collapsed; ClubLinkListBox.Visibility = Visibility.Collapsed; if (_url != null) { _preload = false; MitbbsClubGroupBase _saveClubGroup; if (App.Settings.Preload & App.Settings.OfflineContentManager.TryLoadOfflineContent(App.Settings.BoardGroupPreloadOfflineID, _url, MitbbsSettings.OldContentExpirePeriod, out _saveClubGroup)) { _clubGroup.ClubGroupLoaded -= ClubGroup_Loaded; _clubGroup = _saveClubGroup; _clubGroup.ClubGroupLoaded += ClubGroup_Loaded; DataContext = _clubGroup; Naboo.AppUtil.AsyncCallHelper.DelayCall( () => ClubGroup_Loaded(this, null) ); _preload = true; } if (String.IsNullOrEmpty(_clubGroup.ClubGroupName)) { ClubGroupLoadingText.Text = "正在读取俱乐部..."; } else { ClubGroupLoadingText.Text = "正在读取<" + _clubGroup.ClubGroupName + ">..."; } if (_preload) { return; } HtmlWeb web = App.WebSession.CreateWebClient(); _clubGroup.LoadFromUrl(web, _url); } else { ClubGroupLoadingText.Text = "参数错误!"; } }