private void PivotItemsVisibilityHandler(object sender, RoutedEventArgs e) { this.dataContext = this.DataContext as ViewModel.SettingsViewModel; // Elimino los PivotItem del árbol de widgets, no se // pueden agregar a otro widget si antes ya son hijos de algún otro this.ContentPanel.Children.Remove(NotLoggedPivotItem); this.ContentPanel.Children.Remove(LoggedPivotItem); if (this.dataContext.IsLogged) { // Escondo y elimino el PivotItem que pide usuario y // contraseña ya que en este ámbito el usuario está logueado NotLoggedPivotItem.Visibility = System.Windows.Visibility.Collapsed; AccountPivot.Items.Remove(NotLoggedPivotItem); this.dataContext.TrySetLoggedUserCommand.Execute(null); // Inserto el PivotItem con el perfil del usuario logueado // y lo vuelvo visible AccountPivot.Items.Insert(AccountPivot.SelectedIndex, LoggedPivotItem); LoggedPivotItem.Visibility = System.Windows.Visibility.Visible; AccountPivot.SelectedItem = LoggedPivotItem; } else { // En este bloque se hace exactamente lo contratio // que en el anterior LoggedPivotItem.Visibility = System.Windows.Visibility.Collapsed; AccountPivot.Items.Remove(LoggedPivotItem); AccountPivot.Items.Insert(AccountPivot.SelectedIndex, NotLoggedPivotItem); NotLoggedPivotItem.Visibility = System.Windows.Visibility.Visible; AccountPivot.SelectedItem = NotLoggedPivotItem; } // Asocio un evento que hace lo mismo que este método cuando // el estado de login del usuario cambia. // Esto contempla el escenario de login y logout en la pantalla // de preferencias. this.dataContext.PropertyChanged += dataContext_PropertyChanged; }
public SettingsView() { this.InitializeComponent(); DataContext = new ViewModel.SettingsViewModel(); }
public SettingsPage() { InitializeComponent(); BindingContext = new ViewModel.SettingsViewModel(); }
public MainWindowViewModel(MainWindow mainWindow, bool isTradingPostDataProvider) { this.MainWindow = mainWindow; MainWindowViewModel.Dispatcher = mainWindow.Dispatcher; HotItem.AddItemRequest += new EventHandler<EventArgs<HotItem>>(HotItemViewModel_AddItemRequest); HotItem.RemoveItemRequest += new EventHandler<EventArgs<HotItem>>(HotItemViewModel_RemoveItemRequest); _fileSaveProvider = new FileSaveViewModel(); _fileSaveProvider.Filter = "CSV Files|*.csv"; _fileSaveProvider.PathSelected += fileSave_PathSelected; _fileOpenProvider = new FileOpenViewModel(); _fileOpenProvider.Filter = "CSV Files|*csv"; _fileOpenProvider.PathSelected += _fileOpenProvider_PathSelected; HotItemController = new HotItemController(isTradingPostDataProvider); HotItemController.GuildWars2StatusChanged += new EventHandler<EventArgs<GuildWars2Status>>(HotItemController_GuildWars2StatusChanged); NotifiactionViewModel = new NotificationViewModel(this); SoldViewModel = new TransactionViewModel(this, TransactionType.Sold); SoldViewModel.DisplayName = "Sold Items"; BoughtViewModel = new TransactionViewModel(this, TransactionType.Bought); BoughtViewModel.DisplayName = "Bought Items"; BuyingViewModel = new TransactionViewModel(this, TransactionType.Buying); BuyingViewModel.DisplayName = "Buying Items"; SellingViewModel = new TransactionViewModel(this, TransactionType.Selling); SellingViewModel.DisplayName = "Selling Items"; MessageViewModel = new ViewModel.MessageViewModel(this); SettingsViewModel = new ViewModel.SettingsViewModel(HotItemController); SearchViewModel = new ViewModel.SearchViewModel(HotItemController, this); RecipeViewModel = new RecipeViewModel(HotItemController); ChartViewModel = new ChartViewModel(this); GemViewModel = new GemViewModel(this); LoadConfig(); Config.IsTradingPostDataProvider = isTradingPostDataProvider; Config.FirstTimeStarted = false; HotItemController.Config = this.Config; HotItemController.StartWorker(); workerThread = new Thread(Worker); workerThread.Start(); //Timer = new DispatcherTimer(new TimeSpan(0, 0, 1), DispatcherPriority.Normal, new EventHandler(timerTick), MainWindowViewModel.Dispatcher); }