Exemplo n.º 1
0
        public MainWindowViewModel()
        {
            lastUsedTestConfig();

            // Tengo un massimo di elementi in memoria per evitare consumi eccessivi
            informazioniUtente = new RingBuffer <InformazioneUtente>(30);

            carrelloViewModel        = new CarrelloViewModel();
            fotoGalleryViewModel     = new FotoGalleryViewModel();
            fotoRitoccoViewModel     = new FotoRitoccoViewModel();
            scaricatoreFotoViewModel = new ScaricatoreFotoViewModel();

            selettoreStampantiInstallateViewModel = new SelettoreStampantiInstallateViewModel();
            DataContextStampantiInstallate        = selettoreStampantiInstallateViewModel;


            // Ascolto i messaggi
            IObservable <Messaggio> observable = LumenApplication.Instance.bus.Observe <Messaggio>();

            observable.Subscribe(this);

            Messaggio msgInit = new Messaggio(this);

            msgInit.showInStatusBar = true;
            msgInit.descrizione     = "Nessun messaggio";
            msgInit.esito           = 0;

            LumenApplication.Instance.bus.Publish(msgInit);

            caricaElencoDischiRimovibili();

            this.abilitoShutdown = true;              // permetto all'utente di scegliere se spegnere il computer.
        }
Exemplo n.º 2
0
        protected override void OnRequestClose()
        {
            // Faccio la dispose di tutti i viewmodel che ho istanziato io.

            if (selettoreStampantiInstallateViewModel != null)
            {
                selettoreStampantiInstallateViewModel.Dispose();
                selettoreStampantiInstallateViewModel = null;
            }

            if (fotoGalleryViewModel != null)
            {
                fotoGalleryViewModel.Dispose();
                fotoGalleryViewModel = null;
            }

            if (carrelloViewModel != null)
            {
                carrelloViewModel.Dispose();
                carrelloViewModel = null;
            }

            base.OnRequestClose();
        }