コード例 #1
0
        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;
        }
コード例 #2
0
 public SettingsView()
 {
     this.InitializeComponent();
     DataContext = new ViewModel.SettingsViewModel();
 }
コード例 #3
0
        public SettingsPage()
        {
            InitializeComponent();

            BindingContext = new ViewModel.SettingsViewModel();
        }
コード例 #4
0
        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);
        }