Press "Enter" to skip to content

Category: WPF Windows Presentation Foundation

Post dedicati allo sviluppo di interfacce utente con WPF Windows Presentation Foundation

Common Libraries – Implementare una Window WPF con funzionalità estese

In questo post, vedremo come WPF ci permetta di derivare le proprie classi per permetterci di aggiungere funzionalità anche quando non vogliamo modificare l’aspetto visuale della classe WPF. In questo caso, avendo introdotto nel post precedente un sistema di memorizzazione di parametri di stato per la User Interface delle nostre applicazioni, vogliamo estendere la Window WPF e creare una nuova Window che sappia automaticamente come salvare la propria dimensione. Fatto questo, useremo questa nuova window come classe base per la MainWindow di MiniSqlAgentConsole.

Comments closed

Common Libraries – Una classe per memorizzare informazioni sullo stato della User Interface WPF

La dimensione delle finestre è ovviamente un esempio di ciò che si può fare con questo tipo di funzionalità, un’altra potrebbe essere quella di riaprire le finestre che erano aperte nell’ultima sessione di lavoro, ripopolare i parametri di filtro su una finestra dati, ed altre cose che rendono la vita dell’utente più semplice.

Non stiamo parlando di preferenze, ma di “stato” dell’applicazione.

Comments closed

13 – MiniSqlAgent – Una classe per far comunicare Strati diversi della User Interface WPF

In questo post spieghiamo come fare in modo che uno User Control che si trova vari strati all’interno della user interface possa comunicare con la MainWindow dell’applicazione senza passare per l’ufficio complicazione affari semplici. Per farlo utilizzeremo i delegate e le Action.

Il problema

Nell’interfaccia della console del servizio MiniSqlAgent abbiamo iniziato ad implementare una User Interface complessa, che simula le Child Window di una MDI utilizzando il TabControl e gli user control. Gli User Control che gestiscono gli oggetti Job, possono trovarsi vari “strati” lontani dalla Window che li contiene, e non sapere nulla di tale window per il proprio funzionamento, ma sulla MainWindow abbiamo implementato una StatusBar, che ci mostra se il Servizio è attivo oppure no, e visto che abbiamo dello spazio, ci piacerebbe utilizzarla per dare dei messaggi di status all’utente. Come facciamo a fare arrivare alla MDI dei messaggi che arrivano dagli User Control senza complicarci troppo la vita?

Comments closed

12 – MiniSqlAgent – Implementare il Job Manager per la Console- Modifiche a MiniSqlAgentConsole

In questo secondo post dedicato all’implementazione della User Interface per la gestione dei Job del nostro MiniSqlAgent, andremo a creare la porzione dell’interfaccia utente contenuta all’interno della finestra principale della console del servizio, per poi concludere con lo sviluppo della classe manager dei Job, in cui utilizzeremo lo User Control che abbiamo sviluppato nei post precedenti che potete leggere agli indirizzi qui sotto riportati.

Comments closed

11 – MiniSqlAgent – Implementare il Job Manager per la Console – Modifiche alle librerie Base

In questa breve serie di Post, utilizzeremo quanto finora sviluppato per iniziare a costruire un’interfaccia avanzata per la console del nostro servizio Windows, in modo da poter costruire i Job che gli faremo eseguire. In Questa prima parte porteremo in libreria il CloseableTabItem che abbiamo costruito nel precedente post e faremo un paio di modifiche interessanti, nel post successivo andremo a creare la User Interface per gestire i Job all’interno della console del servizio.

Comments closed

Common Libraries – Un TabItem Chiudibile – Modificare un Template WPF

Un post che riporta ed estende un tutorial di csharpcorner e dimostra come modificare un controllo standard microsoft (il TabItem del TabControl) in modo da creare un interfaccia simile all’editor di visual studio, da utilizzare come bozza applicativa per le nostre interfacce WPF.

Comments closed

10 – MiniSqlAgent – User Control Fine Tuning – DateTimePicker, DateTimeUpDown, Combobox

Facciamo il fine tuning dello User Control disegnato nel post precedente a questo e disponibile QUI  in questo articolo modificheremo le semplici textbox inserite per il primo test e aggiungeremo un DateTimePicker per la data della prossima esecuzione del Job, un DateTimeUpDown per l’ora della prossima esecuzione del job, in IntegerUpDown per la gestione dell’intervallo di esecuzione ed una combobox per selezionare le connessioni disponibili sul sistema per l’esecuzione dei job. Per fornire la lista alla combobox aggiungiamo ai parametri di configurazione del servizio e della sua console un file che conterrà tutte le stringhe di connessione valide a SQL Server che vogliamo memorizzare.

Comments closed

9 – MIniSqlAgent – Uno User control per generare un Job

In questo post, proseguiamo lo sviluppo della console per il servizio MiniSqlAgent che stiamo sviluppando per dimostrare come costruire un servizio windows funzionante e non banale ed una applicazione WPF che ne gestisca l’amministrazione in tutti i suoi aspetti. Nel post precedente abbiamo generato una classe per definire un Job per il nostro servizio che contiene funzionalità minimali, adesso realizziamo uno User Control WPF per poter generare un Job e salvarlo su un file su disco, e testeremo lo User Control nella applicazione della nostra console.

Comments closed

8 – MiniSqlAgent – Definire un entity serializzabile per memorizzare un Job , versione 1.0 dati minimali.

Un post per definire la classe entity che contiene i dati di base per costruire un Job che permetta di eseguire uno statement SQL ad intervalli regolari. Propedeutica allo sviluppo dell’interfaccia di gestione e del servizio Mini SQL Agent.

Comments closed

6 – MiniSqlAgent – Aggiungere il supporto ai Messaggi HTTP tra un servizio di Windows e la sua Console

In questo post aggiungeremo la funzionalità di invio messaggi tramite HTTP al servizio MiniSqlAgent che abbiamo sviluppato nei post precedenti e la funzionalità di ricezione dei messaggi alla sua console di supporto. Per farlo aggiorneremo l’ HTTP sender, aggiorneremo il sistema di Log del servizio, aggiungeremo alcuni parametri di configurazione al servizio, aggiungeremo inoltre una Window che fornirà un real time monitor del servizio all’amministratore.

Comments closed