Spostare una WIndow da una cartella ad un altra in un progetto è una cosa semplice se sappiamo cosa fare, altrimenti diviene fonte di eterna frustrazione.
Per continuare in modo “Easy” i post di questa serie che ho interrotto a settembre (non per pigrizia ma per eccesso di tempo speso al computer per lavoro) un articolo veloce per mostrarvi come spostare MainWindow dalla cartella principale di progetto alla cartella Windows modificandone in modo corretto anche il Namespace.
La prima operazione è il Cut (taglia) della classe, usando l’opzione del Menu contestuale con Tasto destro sulla classe MainWindow.xaml. Come vedrete, l’operazione sposterà in automatico sia la classe XAML che il suo codice in XAML.CS.
Seconda operazione, ci spostiamo sulla cartella Windows e premiamo sempre Tasto Destro per il menu contestuale e poi l’opzione Paste (incolla) vedremo che MainWindow.xaml e MainWindow.xaml.cs si sposteranno sotto la cartella Windows.
Ma non è finito qui, altrimenti non serviva un articolo. Adesso che abbiamo spostato la classe fisicamente sulla cartella giusta, dobbiamo anche spostarla logicamente per il Compilatore e soprattutto per fare in modo che sia coerente per tutti gli sviluppi futuri.
Per prima cosa apriamo l’editor XAML della classe MainWindow.xaml e posizioniamoci sul tag Window.
Dobbiamo modificare il Namespace della classe da WpfPubs a WpfPubs.Windows.
Notate come ci viene segnalato un errore, perché con questa operazione, la Window non sa più dove si trova il proprio codice.
Pertanto dobbiamo aprire il codice in MainWindow.xaml.cs
Come vedete dallo screenshot ci viene segnalato un errore anche qui, perché avendo spostato MainWindow.xaml, il cui codice contiene l’InitializeComponent, tale metodo non è più visibile alla classe di Interaction Logic.
Nella classe App.xaml.cs verifichiamo di avere inserito la using del Namespace dove si trovano le Windows, in questo caso, visto che la finestra di configurazione della stringa di connessione era già stata generata sulla sottocartella, la using dovrebbe essere inserita correttamente.
Se così non fosse riceveremmo un errore nella chiamata che instanzia e chiama la MainWindow.
Ora per testare se la nostra finestra funziona dobbiamo ricompilare la soluzione. Ma è necessario fare attenzione,
Tasto destro sulla Soluzione, e dal menu contestuale effettuare le 2 operazioni indicate.
- Clean Solution (non so come tradotto in italiano)
- Rebuild Solution
In questo modo il compilatore rigenera tutto il codice.
Premendo poi il tasto Start, la nostra MainWindow Apparirà come atteso.
Codice a Corredo per l’articolo.