.NET

There are 18 entries for the tag .NET

Aiutare le community: perchè non farlo?

C’è un valido motivo per cui non vale la pena aiutare le community .NET in Italia? Secondo me no. Se non esistessero le community, dalla più piccola alla più grande, io non sarei qui, come tantissimi dei miei lettori. Molti non avrebbero un lavoro, io non conoscerei un sacco di persone, sarei molto ignorante più di quanto già non sia. Insomma, la mia esperienza nella partecipazione nelle attività delle community è straordinariamente positiva. Quindi, ripeto, la domanda: c’è un valido motivo per cui non vale la pena aiutare le community .NET in Italia? E la risposta non è cambiata: secondo...

Deployare un servizio WCF con gli assembly

L'ultima volta vi ho fatto vedere quali accorgimenti bisogna attuare per deployare un servizio WCF su un hosting come WebHosting4Life. Il riassunto in breve è questo. Supponiamo di avere in hosting un url come il seguente: http://www.miosito/wcf La directory wcf deve essere impostata come .NET Application, su un application pool dedicato oppure condiviso con altre applicazioni. All'interno della directory wcf dobbiamo mettere il Service.svc ed il web.config che danno tutte le informazioni necessarie al .NET Framework per poter far partire il servizio WCF. Nel primo c'è il nome della classe che implementa il servizio,...

Microsoft diventa un po' più open-source!

Questa è una notizia da leggere con calma e da digerire per bene. Fate così: sedetevi, prendete una lattina della vostra bevanda preferita - io ho optato per un bel Estathè - chiudete gli occhi, fate un bel respiro e riapriteli. Leggete di seguito. La notizia è che con l'uscita di Visual Studio 2008 verrà rilasciato il codice sorgente del .NET Framework 3.5!!! Il titolo del post originale recita "Releasing the Source Code for the .NET Framework Libraries", e potete leggerlo qui. Ah, ferma: è scritto da un certo Scott Guthrie, che non è di certo l'ultimo arrivato. Non verrà...

La parte più ostica di WPF è il layout

Spesso e forse troppe volte leggo i pro ed i contro tra il classico Windows Forms e WPF, due tecnologie che io personalmente ritengo simili fra loro, soprattutto perchè tutto sommato si occupano di risolvere lo stesso problema, cioè quello della creazione di interfacce smart client efficaci e belle da vedere. WPF è ovviamente più moderno, offre molte cose in più che permettono di raggiungere risultati molto diversi e molto più piacevoli da vedere: parlo di tecniche proprie di WPF come gli stili, i triggers, le animazioni ed i tantissimi effetti grafici che possiamo sfruttare nativamente all'interno delle nostre applicazioni....

Semplificare il codice creando un'interfaccia

Uno degli argomenti più interessanti che sto affrontando nel progetto su cui sto lavorando è la programmazione di un contatore elettronico attraverso un dispositivo Pocket PC. Con "contatore elettronico" intendo i contatori dell'energia elettrica, quelli che sono installati nelle nostre case e che misurano i consumi in modo tale che poi arrivi la brava bolletta da pagare. Il software che stiamo sviluppando permette ad un tecnico di andare in giro per la città con un palmare e di elaborare uno alla volta gli ordini che ha ricevuto la mattina in ufficio. Ciascun ordine - detto semplicemente - consiste fra le...

Domain Model, NHibernate (con lazy load = true) e WPF

Prevedo la stesura di un post piuttosto lungo. Cominciamo dagli ingredienti: Un'entità sul nostro domain model (Artista) definita in un assembly (DomainModel) Un assembly (DataAccessLayer) con un po' di classi che, tramite NHibernate, si occupano di persistere le entità definite nell'assembly al punto (1) su database (SQL Server) Un altro assembly contenente un progetto WPF - dettagli più sotto Tutto questo per garantire la separazione delle componenti software di un progetto: domain-model, dal e UI. Almeno queste. Non voglio fare il saccente, ma credo che la difficoltà sia Alta, ed i tempi di preparazione lunghi. E penso anche che darò un sacco...

Usare un DateTimeConverter nei progetti WPF

Eventuali imprecisioni sono dovute all'ascolto, durante la stesura del post, di un concerto del Liga.Chiedo scusa: aiutatemi con i vostri commenti. :-) La classe DateTimeConverter è definita nel namespace System.ComponentModel nell'assembly System.dll. Il primo pensiero che ho avuto quando ho scoperto la presenza di questa classe - con questo nome - è stato: cavolo, posso metterla nelle risorse di una Window e sfruttarla nel meccanismo di data-binding tra un tipo DateTime ed un semplice controllo come la TextBox. Supponiamo di avere una Window semplice definita così: 1 <Window x:Class="StudyWPF.DataBindingWindow" 2 ...

StatusBar gestita con la proprietà .Tag dei controlli sulla Window

Questa volta vi rimando direttamente al post del mio (nostro) amico Corrado, che è stato così gentile e paziente da sopportarmi sul Messenger per aiutarmi a venire a capo del (piccolo) problema che avevo. :-) Supponiamo di avere una Window con un certo numero di controlli (TextBox in primo luogo, ma non solo). Supponiamo di avere anche una StatusBar, con cui vogliamo dare alcuni tip all'utente che sta usando l'applicazione stessa. L'obiettivo era quello di mostrare sulla StatusBar un tip diverso a seconda della TextBox che ha il focus in quel momento. Dopo aver litigato con XAML per mezza giornata e ieri sera,...

Come gestire gli access key con WPF (usability, Label, TextBox e dintorni)

Chi di voi ha lavorato con Visual Basic 6.0, o comunque con altri linguaggi di programmazione, sa che è possibile impostare - su una Label per esempio - un access key, ovvero impostare una lettera che premuta insieme al tasto ALT della tastiera dia il focus ad un controllo sulla stessa Windows Forms. Supponiamo di avere una Label la cui caption sia "Nome : " e supponiamo di voler fare in modo che, premendo ALT+N sulla tastiera, il focus finisca su una TextBox lì a fianco, cosicchè l'utente possa inputare il valore. In Visual Basic 6.0, questo si otteneva facendo precedere...

Visual Studio 2008 Beta 2 anche io

Durante il weekend, tra i mille impegni casalinghi, ho scaricato Visual Studio 2008 Beta 2. Nonostante le raccomandazioni di Lorenzo, che dicevano di usarlo e provarlo prima su una VM, l'ho voluto installare sul mio PC a casa, dove lo sviluppo non è così prioritario. Se qualcosa andava male, pazienza. Invece è tutto andato a meraviglia. Il tempo di installazione non si discosta moltissimo dal tempo di installazione di VS2005. Mi ha chiesto un riavvio del PC dopo l'installazione del nuovo .NET Framework 3.5, che è il primo passo obbligatorio da fare. Per il resto...tutto bene, anzi, mi aspettavo peggio....

Un equilibro tra risorse locali e risorse globali

La maggior parte delle volte ho visto gli stili dei controlli WPF definiti all'interno della Window nella quale poi lo stile stesso viene utilizzato. Lo stile in questo caso può essere utilizzato solo in quella particolare Window nel quale abbiamo creato lo stile. Se lo stile ci serve in altre Window, siamo obbligati a fare un copia & incolla dello XAML dove ci serve, il che non è proprio il massimo. In WPF possiamo inserire una risorsa all'interno del file App.xaml, all'interno del tag <Application.Resources></Application.Resources>. In questo modo lo stile è globale per tutta l'applicazione. Se inserissimo una risorsa con...

Una utility per ripulire i recent files e i recent project

Ho scritto in 3 minuti netti un piccolo tool a linea di comando che ripulisce le seguenti chiavi di registro: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUListHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList che contengono rispettivamente i files recenti ed i progetti recenti gestiti da Visual Studio 2005. Odio avere quelle chiavi piene, perchè a volte faccio progetti di test dal nome assurdo o non significativo e non mi piace vederli nell'IDE di Visual Studio con il rischio di cliccarli per sbaglio. Il tool va semplicemente lanciato dalla linea di comando e gira per 2-3 secondi: spazza via il registro e vi formatta il disco fisso senza conferma, così siete più comodi. Ovviamente...

Windows SDK: wpfperf e l'irrimediabile crash

ll titolo fa anche (quasi) rima...non è proprio rima...come si dice? Assonanza? GiustoTorniamo a noi, perchè sono stanco. Questa sera ho voluto dare un'occhiata al Performance Profiling Tools for Windows Presentation Foundation incluso nel Windows SDK. Si tratta di uno strumento che serve a capire come l'engine di WF spende il suo tempo nelle varie fasi di rendering, layouting (!), gestione degli handler e così via. Causa ingenti impegni sul lavoro, ho solo letto velocemente qualche interessante articolo su MSDN e mi sono messo questa sera a sperimentarlo un pochino. Ho trovato inizialmente qualche difficoltà, perchè il tool tende a...

Usare la ListView

Partiamo da questo screenshot: L'altra volta avevamo visto come gestire da codice l'orribile TextBox inserita nel menù, con il relativo Button per poter salvare l'immagine sul proprio disco fisso locale. Per maggiori informazioni leggete questo post. Questo ContextMenu dà accesso ad alcune altre funzionalità piuttosto divertenti, come quella per richiedere l'elenco dei tag associati ad una particolare fotografia. Il codice è molto semplice e compatto: private void TagsMenuClick(object sender, RoutedEventArgs args) { FlickrBrowserPhoto photo = lstPhotos.SelectedItem as FlickrBrowserPhoto; string id = photo.PhotoId; PhotoInfoTag[]...

Template per evidenziare il SelectedItem di una ListBox

Alla fine della sessione di Corrado agli ultimi Community Days sul data-binding di WPF, gli ho chiesto se fosse possibile cambiare (e se sì, come) il template che WPF utilizza per evidenziare l'Item corrente su una ListBox. Il template di default è il classico blu, come quello che si vede nello screenshot qui sotto: A volte potrebbe essere utile e carino definire un nostro template con cui far vedere all'utente quale degli elementi elencati nella ListBox è quello selezionato. Corrado mi parlò di una cosa...che adesso ovviamente non mi viene in mente... Ma ricordo anche che consigliò di sottoscrivere il...

Classi statiche & generics: un comportamento da tener presente!

Date un'occhiata alla seguente classica statica: 1 public static class DataProvider<T> where T : new() 2 { 3 private static bool init; 4 5 static void initialize() 6 { 7 init = true; 8 } 9 10 public static void MakeSomeOperation() 11 { 12 if (!init) initialize(); 13 } 14 } Estratto...

[6] Il ritorno dello HockeyPlayer (data-binding con WPF)

Diamo una breve occhiata all'ultimo XAML che abbiamo scritto per ottenere una ListBox con associato un template, definito in uno UserControl separato. <ListBox Name="lstPlayers" ItemsSource="{Binding Source={StaticResource players}, Path=HockeyPlayer}"> <ListBox.ItemTemplate> <DataTemplate> <a:HockeyPlayerTemplate /> </DataTemplate> </ListBox.ItemTemplate> </ListBox> A questa ListBox è stato associato, quindi, un solo template, HockeyPlayerTemplate, che fa in modo che a run-time la...

L'interfaccia di WPF è XAML, cioè XML...quindi serializzabile

Piccola riflessione della serata. L'interfaccia utente di un'applicazione WPF viene descritta da un file XML, nella fattispecie XAML. Cioè significa che è serializzabile. Ciò significa che, per esempio, possiamo in un qualsiasi momento fare una sorta di dump di una Windows - supponiamo - e salvare il tutto in un file XML su disco. Il dump contiene lo stato di tutta la Window: dalla Windows stessa a tutti i controlli che vi sono contenuti, con tutte le loro proprietà. Sarebbe interessante, per esempio, avere una Window ed intercettare eventuali eccezioni nate al suo interno. Quando viene scatenata un'eccezione, si fa...