public LoginPageViewModel(SteamClientService steamClientService, ApplicationSettingsService applicationSettingsService) { _steamClientService = steamClientService; _applicationSettingsService = applicationSettingsService; _shouldRememberAccount = _applicationSettingsService.Settings.ShouldRememberAccount; if (_shouldRememberAccount) { _username = _applicationSettingsService.Settings.LastUsername; _password = _applicationSettingsService.Settings.LastPassword; } MessengerInstance.Register <ClearPageHistoryOnNextTryLoginMessage>(this, msg => { _clearPageHistoryOnNextTryLogin = true; }); MessengerInstance.Register <LogoutOnNextTryLoginMessage>(this, msg => { _logoutOnNextTryLogin = true; }); }
public ViewModelLocator() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); SimpleIoc.Default.Register <MainWindowViewModel>(); SimpleIoc.Default.Register <WelcomePageViewModel>(); SimpleIoc.Default.Register <LoginPageViewModel>(); SimpleIoc.Default.Register <FriendListPageViewModel>(); SimpleIoc.Default.Register <ApplicationSettingsService>(true); SimpleIoc.Default.Register(() => { var steamClientService = new SteamClientService(ServiceLocator.Current.GetInstance <ApplicationSettingsService>()); steamClientService.Start(); return(steamClientService); }); }
public FriendListPageViewModel(SteamClientService steamClientService) { _steamClientService = steamClientService; Task.Delay(2000).ContinueWith(task => { _steamClientService.SetPersonaStateAsync(EPersonaState.Online); }); MessengerInstance.Register <PersonaNameChangedMessage>(this, msg => { RaisePropertyChanged(() => PersonaName); }); MessengerInstance.Register <PersonaStateChangedMessage>(this, msg => RaisePropertyChanged(() => PersonaState)); MessengerInstance.Register <ReconnectFailedMessage>(this, msg => { MessengerInstance.Send(new ShowMessageDialogMessageWithCallback("连接中断", "你与 Steam 的服务器连接已中断。重试三次均无法连通,请检查网络后重新登录。", result => { MessengerInstance.Send(new SwitchPageMessage(SwitchPageMessage.Page.Login)); MessengerInstance.Send(new ClearPageHistoryMessage()); })); }); }
public MainWindowViewModel(SteamClientService steamClientService) { _steamClientService = steamClientService; _currentPage = new WelcomePage(); PageHistory = new Stack(); PageHistory.Push(CurrentPage); MessengerInstance.Register <SwitchPageMessage>(this, msg => { DispatcherHelper.CheckBeginInvokeOnUI(() => { CurrentPage = Activator.CreateInstance(SwitchPageMessage.GetPageType(msg.TargetPage)); if (msg.ClearPageHistory) { PageHistory.Clear(); PageHistory.Push(CurrentPage); } else { PageHistory.Push(CurrentPage); } RaisePropertyChanged(() => SwitchBackButtonVisible); }); }); MessengerInstance.Register <ClearPageHistoryMessage>(this, msg => { DispatcherHelper.CheckBeginInvokeOnUI(() => { PageHistory.Clear(); PageHistory.Push(CurrentPage); RaisePropertyChanged(() => SwitchBackButtonVisible); }); }); }