Press "Enter" to skip to content

Category: WPF Windows Presentation Foundation

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

Convertire un foglio di Excel in XML

Un collega mi ha chiesto un suggerimento su come fare un programma per leggere dati da un foglio di Excel e convertirli in un file XML, considerato che è qualcosa che potrebbe accadere anche spesso, visto che soprattutto i non informatici hanno una propensione per utilizzare i fogli di Excel come database. O come formato standard di scambio dati, ho deciso di fare un esempio che mostra come utilizzare la libreria Open Source EPPlus, la trovate all’inidirizzo:  epplus.codeplex.com per leggere un file di Excel e scrivere un documento XML senza utilizzare per questo una specifica classe.

Perché questo esempio? perché è semplice da utilizzare per ricevere dati di tipo One Shot ovvero ci arriveranno una sola volta, quindi non vale la pena di costruire una classe entity e una collection per leggere una sola volta un foglio di Excel.

Vediamo come è fatta l’applicazione, si tratta di una applicazione WPF che ho chiamato con molta fantasia FromExcelToXml che contiene una sola Window, MainWindow:

MainWindow_01

Comments closed

Come acquisire data e ora su due controlli diversi memorizzandola sullo stesso campo

Qualche giorno fa sul forum WPF di Microsoft Italia, è stata fatta una domanda da parte di uno sviluppatore che aveva la necessità di acquisire sia una data che un ora e voleva farlo su due controlli distinti.

I controlli standard WPF comprendono solo il controllo DateTime, che non permette di avere dei formati che diano modo di acquisire solo la data o solo l’ora.

E’ abbastanza primitivo da essere adatto solo a permettere l’acquisizizone utilizzando il calendario. Una acquisizione piuttosto lenta e priva del valore dell’ora.

Comments closed

Aggiungere un immagine di sfondo ad una TreeView WPF

Oggi, sul forum Microsoft un utente ha rivolto la seguente domanda:

Dovrei mettere un’immagine di sfondo alla mia treeview, il problema è che la proprietà non esiste Qui trovate il link al thread.

La mia risposta è stata la seguente:

Il controllo TreeView WPF non possiede una property BackgroundImage, ma è piuttosto semplice aggiungere un immagine di sfondo, inserendo un controllo Image nello stesso contenitore della TreeView nell’esempio qui pubblicato mostro uno dei metodi con cui si può fare.

Comments closed

Common Libraries – Due metodi helper per la crittografia AES

In risposta a Questo thread postato oggi sul forum Microsoft C# in cui un utente vuole implementare una chat crittografata utilizzando il metodo AES e ha trovato delle difficoltà.

Rispondo pubblicando un esempio di codice con i metodi che utilizzo io per questo tipo di crittografia.

Comments closed

Implementare un Data Provider SQL Server usando ADO.Net

Nei post di quest’anno, iniziando ad aprile, ho creato un piccolo database SQL Server per dimostrare come utilizzare gli script T-SQL per generare gli oggetti dentro a SQL Server, poi ho proseguito, creando un sistema composto da un Servizio Windows e da una Console WPF che permettono di simulare una versione minimale dell’Agent di SQL Server per eseguire operazioni schedulate su SQL Server ed ho usato lo sviluppo di queste due applicazioni per spiegare una serie di concetti, spero utili, costruendo mattone per mattone l’applicazione WPF ed il Servizio Windows funzionanti ed installabili su qualsiasi PC o Server. Adesso è venuto il momento di riprendere in mano il Database definito nella serie iniziale di Post di quest’anno, e implementare per prima cosa una interfaccia WPF che ci permetta di inserire e modificare il suo contenuto.

Comments closed

ListBox, WPF, GetHashCode e Strani comportamenti

La scorsa settimana, ero in ferie quindi mi sono dedicata a produrre qualcosa di nuovo per Dotnetwork, proseguendo con i tutorial dedicati a classi, librerie, applicazioni, servizi e database, visto che era arrivato il momento di iniziare a lavorare con i Dati, dopo aver costruito il necessario a manipolare e gestire un database, ho iniziato a studiare il metodo più semplice per costruire una classe Data Provider in grado di fornire le operazioni base di CRUD (CReate, UpDate, Delete) su una tabella database SQL Server evitando di dover chiamare in causa immediatamente Entity Framework, ma utilizzando POCO (Plain Old COde) e soprattutto poco codice davvero.

Ultimata la classe Data Provider e quanto necessario al suo utilizzo, ho iniziato a creare una User Interface per il nostro database Recipes, che abbiamo iniziato a vedere una cinquantina di post or sono, come esempio per la creazione di un database funzionante utilizzando solo T-SQL. Ho utilizzato quanto sviluppato fino ad ora nelle librerie base Dotnetwork ed ho creato un’ interfaccia di base, e il primo User Control per una tabella Sql Server.

Comments closed

Utility e User Experience in WPF

In questo progetto implementeremo una semplice utility per verificare la target platform delle Dll e degli Exe memorizzati su una cartella e ne approfitteremo per mostrare come utilizzare la classe AutoSettingsManager già  implementata nella console del MiniSqlAgent, per migliorare la User Experience. Inoltre, visto che è un utility che possiamo “utilizzare” creiamo anche il setup della stessa utilizzando InnoSetup e mostriamo come utilizzare Visual Studio per effettuare la build del setup grazie ai Post Build Events.

Comments closed

16 – MIniSqlAgent – Modificare i Job per poter gestire il Timeout

In quanto sviluppato fino ad ora per creare un servizio in grado di eseguire script SQL su un Sql Server in modo schedulato, abbiamo predisposto tutto quanto per una esecuzione molto semplice, lasciando al client ADO e alla configurazione del Server SQL il compito di decidere come eseguire gli script. In questo post, aggiungeremo un parametro di controllo fondamentale per i Jobs, ovvero la possibilità di decidere dopo quanto tempo la connessione andrà in timeout se non riuscirà a completare un Job.

Comments closed

15 – MiniSqlAgent – Implementare il servizio per eseguire Job Schedulati su SQLServer

Alla distanza di 42 post dall’inizio della serie di quest’anno, arriviamo finalmente al post più importante per concludere lo sviluppo della versione 1.0 di MiniSqlAgent, un Servizio Windows in grado di eseguire in modo schedulato degli script SQL su qualsiasi SqlServer simulando in versione minimalista il Sql Server Agent. In questo post implementeremo quanto necessario ad effettuare le seguenti operazioni:

  • Allo startup del servizio leggere tutti i Job memorizzati sulla cartella dati del servizio ed inserirli in una collection.
  • Impostare un file system watcher che controlli se vengono aggiunti, cancellati, modificati dei Job sulla cartella dati riportando gli aggiornamenti sulla collection.
  • Impostare il Loop di servizio in modo tale che controlli se vi sono Job da eseguire e li esegua.
Comments closed

14 – MiniSqlAgent – User interface Tuning – Fare aprire una sola volta il Jobs Manager

In questo post andremo ad implementare il necessario a fare in modo che la finestra di base della MiniSqlAgentConsole non apra più di una volta l’interfaccia per la gestione dei Jobs. Per fare questo andremo ad implementare una classe entity Generic, una collection Generic, ed un metodo anonimo.

Comments closed