In questo primo post e nei successivi ad esso collegati, discuteremo di alcuni dei concetti fondamentali della programmazione in WPF creando uno User Control riutilizzabile per l’acquisizione e la memorizzazione dei dati di connessione a SQL Server.
Per iniziare a lavorare in modo meno superficiale con WPF e introdurre i fondamenti relativi al suo funzionamento, costruiamo uno User Control WPF per gestire le informazioni di connessione a SQL Server che abbiamo discusso nei post precedenti questo.
Che cosa vogliamo ottenere
Lo User control che vogliamo creare deve essere costruito specificamente per gestire i dati di connessione a SQL Server, ma al contempo deve essere utilizzabile in contesti diversi, quindi non deve essere troppo specifico,diamo quindi una definizione dettagliata di ció che deve stare dentro e ció che deve stare fuori dal nostro controllo.
Cosa deve gestire autonomamente:
- L’interfaccia di inserimento e modifica dati deve essere autocontenuta.
- Attivazione e disattivazione delle funzionalitá
- Caricamento dei dati nei controlli
- Databinding
- Risorse localizzabili per l’interfaccia utente
- Operazioni di caricamento dati e di restituzione dei dati a chi utilizza il controllo
Cosa deve fornire e lasciar gestire a chi lo userá:
- Sorgente dei dati forniti e formato degli stessi
- Modalitá di importazione ed esportazione dei dati
Funzionalitá specifiche
- Gestione di una collezione di informazioni di connessione a sql server con funzioni di
- inserimento
- modifica
- cancellazione
- Archiviazione dei dati nelle seguenti forme
- Salvataggio su file in formato JSON
- Salvataggio su file in formato JSON crittografato
- Fornitura dei dati come stringa JSON
- Fornitura dei dati come stringa JSON crittografata
- Fornitura dei dati come collezione di connessioni
- Caricamento dei dati al proprio interno come
- Dati forniti come file in formato JSON
- Dati forniti come file in formato JSON crittografato
- Dati forniti come stringa JSON
- Dati forniti come stringa JSON crittografata
- Dati forniti come collezione di connessioni
- Funzionalitá configurabili dall’esterno
- importazione
- esportazione
Che cosa utilizzeremo e quindi spiegheremo per generare tutto questo
- Useremo le entitá e la collection giá introdotte nei precedenti post per memorizzare i dati di connessione.
- Useremo le funzioni di serializzazione e deserializzazione JSON e la crittografia introdotte in un contesto d’uso reale.
- Creeremo uno user control WPF completamente funzionante ed il suo View Model spiegando i concetti relativi al Binding funzionale di WPF
- Introdurremo l’uso di risorse di tipo immagine e risorse di tipo stringa localizzabili
- Impareremo a creare degli stili riutilizzabili per l’aspetto della nostra UI
- Impareremo a creare delle classi converter per l’uso all’interno di XAML
- Impareremo come delegare delle funzionalitá a chi utilizzerá il nostro User control.
- Creeremo quindi un progetto di test che applicherá quanto predisposto e utilizzerá i servizi forniti dal nostro User Control.
Nel Webcast qui sopra potete osservare il risultato finale di quello che realizzeremo in questa mini serie di post.
Il progetto di esempio che contiene il codice come sarà alla fine della serie è disponibile nella nuova versione delle librerie di uso comune a questo indirizzo:
Per qualsiasi domanda, curiosità approfondimento, potete usare il link al modulo di contatto in cima alla pagina.
Windows API Codepack
WPF Toolkit extended
Aggiungo i riferimenti alle librerie di supporto che saranno utilizzate anche negli articoli successivi.