public ThreadPageViewModel() { ReloadDataNavigationBack = true; _service = HttpService.CreateInstance(); _switchFavoriteThreadCommand = new SwitchFavoriteThreadCommand(_service, (result) => { if (result) { _isFavorite = !_isFavorite; ReinitFavoriteButton(); } }); _switchFavoriteThreadCommand.CanExecuteChanged += (o, e) => { IsProgressVisible = !_switchFavoriteThreadCommand.CanExecuteIt; (Page.ApplicationBar.Buttons[FAV_INDEX] as ApplicationBarIconButton).IsEnabled = _switchFavoriteThreadCommand.CanExecuteIt; }; SurveyCommand = new SurveyCommand(_service, (survey) => { HeaderItem.Survey = survey; }); SurveyCommand.CanExecuteChanged += (o, e) => { IsProgressVisible = !SurveyCommand.CanExecute(null); }; LoadCommand = new LoadThreadPageCommand(_service, (e) => Dispatcher.BeginInvoke(() => OnDownloadedPage(e.Context))); LoadCommand.CanExecuteChanged += (o, e) => { IsProgressVisible = !LoadCommand.CanExecuteIt; (Page.ApplicationBar.Buttons[RELOAD_INDEX] as ApplicationBarIconButton).IsEnabled = LoadCommand.CanExecuteIt; }; NotifyPropertyChange("BackColorConverter"); }
public override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); (Page.ApplicationBar.Buttons[ADD_INDEX] as ApplicationBarIconButton).IsEnabled = AppSettings.IsLoggedIn; _client = HttpService.CreateInstance(); SwitchFavoriteThreadCommand = new Commands.SwitchFavoriteThreadCommand(_client); SwitchFavoriteThreadCommand.CanExecuteChanged += (o,e1) => { IsProgressVisible = !SwitchFavoriteThreadCommand.CanExecuteIt;}; LoadCommand = new LoadMainPageCommand(_client, (ea) => Dispatcher.BeginInvoke(() => OnDownloadedPage(ea.Context))); LoadCommand.CanExecuteChanged += (o, ea) => { bool can = LoadCommand.CanExecute(null); IsProgressVisible = !can; (Page.ApplicationBar.Buttons[RELOAD_INDEX] as ApplicationBarIconButton).IsEnabled = can; }; if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) { LoadCommand.Execute(null); } }