The Dark Side of .NET

Il lato oscuro della forza!

giugno 2009 - Post

Aggiungere la terza dimensione alle nostre applicazioni

No, non sto parlando di creare applicazioni 3D, ma di aggiungere una terza dimensione alle nostre applicazioni: il colore! In quanto informazione aggiunta è da considerare un'ulteriore informazione, pensamio ad esempio alla classica griglia di dati: se le righe sono colorate e quel colore esprime un significato (ad esempio documento già stampato rosso, da stampare giallo...non so) allora riusciamo a comunicare all'utente visivamente un'informazione che può aiutarlo a fare le sue valutazioni sui dati. Banale? Si, ma funziona!

Auguri a Enzo e Vitale!

Un augurio sincero ad Enzo (Enzo) e Vitale (VitaleMonaco) per aver finalmente terminato gli esami!! Graned ragazzi e in bocca al lupo per la laurea. Io farò la mia parte (come tutor) ma voi non fatemi fare figuracce!!!!

Auguroni!

La mania delle cose intelligenti...

Mi è capitato spesso, guardando i forum e i post delle altre community, che esiste una certa tendenza a scrivere o rispondere solo a cose particolarmenti difficili o intelligenti... Mi chiedo: se faccio parte di una community è perchè voglio crescere, se voglio crescere devo condividere i miei dubbi, se i miei dubbi sono stupidi perchè mi devo vergognare di dirlo e lasciare che i miei stupidi dubbi restino tali? La prova tangibile la possiamo trovare in tutti i post dei forum che iniziano con la solita frase: "so che può sembrare una cosa stupida..:" oppure "Ho da poco iniziato con la programmazione quindi immagino che dirò cose banali...".

Lo dico a me stesso e anche a tutti gli utenti di DotNetCampania: nessuna domanda è stupida se ci può risolvere un dubbio, anche banale, l'unico modo di crescere è chiedere, sempre. Come dice sempre la nonna: 'o scuorn è 'e chi arrobb!

Suggerimenti per gli utilizzatori di OracleClient

Da  blog del team di msdn italia arriva qualche suggerimento per affrontare la questione oracleclient:

http://blogs.msdn.com/italy/archive/2009/06/23/system-data-oracleclient-qualche-riflessione-e-suggerimento.aspx

 

Microsoft abbandona lo sviluppo di OracleClient...

Come si legge qui.

"After carefully considering all the options and talking to our customers, partners, and MVPs it was decided to deprecate OracleClient as a part of our ADO.NET roadmap. "

Comprensibile...ma qualche problemino forse la cosa li creerà...

RAINET sperimenta il Live Smooth Streaming HD per le partite della Nazionale Italiana alla Confederation Cup

Vi invito a leggere questo post, giusto per avere un riscontro reale delle potenzialità degli strumenti che microsoft ci mette a disposizione:

http://blogs.msdn.com/italy/archive/2009/06/18/rainet-sperimenta-il-live-smooth-streaming-hd-per-le-partite-della-nazionale-italiana-alla-confederation-cup.aspx

Posted: 18 giu 2009 14:30 da Michele Aponte | con no comments
Inserito sotto:
WPF: Binding tra proprietà negate dei controlli

Chi di voi ha avuto la possibilità di saggiare le gustosissime potenzialità di binding di WPF (di cui presto il nostro Marco Savarese parlerà nei suoi articoli) si sarà sicuramente accorto che il concetto di binding è molto generalizzato, tanto che è possibile bindare tra di loro proprietà dei controlli della stessa pagina. Se ad esempio volessimo che una textbox sia abilitata in base al fatto che una checkbox sia Checked o meno, possiamo fare:

<CheckBox x:Name="AbilitaCheckBox" IsChecked="True" />

<TextBox IsEnabled="{Binding ElementName=AbilitaCheckBox, Path=IsChecked}" Text="" />

Potremmo avere un piccolo problema se invece volessimo che la textbox si disabiliti quando la checkbox è Checked! In questo caso basta implementare una piccola classe di conversione:

public class NotConverter : IValueConverter

{

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return !(bool)value; }

     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return !(bool )value;}

}

Il fatto che implementi l'interfaccia IValueConverter permette di utilizzare questa logica di conversione direttamente nello XAML, importando opportunamente il namespace (che, in questo caso in cui la cosa potrebbe interessare tutta l'applicazione, di fare nell'App.XAML):

xmlns:c="clr-namespace:MioNamespace"

<Application.Resources>

    <c:NotConverter x:Key="notConverter"/>

    ...

</Application.Resources

A questo punto basta modificare il binding tra i controlli in questo modo:

<CheckBox x:Name="AbilitaCheckBox" IsChecked="True" />

<TextBox IsEnabled="{Binding ElementName=AssenteCheckBox, Path=IsChecked, Converter={StaticResource notConverter} }" Text="" />

Naturalmente visto come abbiamo implementato la cosa possiamo fare qualsiasi tipo di conversione, basta scrivere una classicina che implementi l'interfaccia IValueConverter.

Spero vi sia utile

Happy Coding!!!

AUGURI CARMINE!!!!

Volevo approfittaredi questo spazio per portare alla vostra attenzione un evento più unico che raro: il nostro mitico grafico Carmine oggi compie 27 anni!!!! Augurissimi!!!!

Finalmente on line!!!!

Dopo una propagazione DNS durata secoli...finalmente siamo On Line!!!! Iscrivetevi e fate iscrivere tutti gli appassionati di informatica che conoscete: grazie a questo portale impareremo insieme tutte le potenzialità di .NET in attesa di conoscerci dal vivo negli eventi pubblici che speriamo di organizzare al più presto.

A presto

Michele

Benvenuti a tutti voi!!!

Il primo post del mio nuovo blog su .DotNetCampania non può non essere un caloroso benevenuto a tutti voi, nella speranza di diventare sempre di più e, grazie alla community, accrescere le nostre conoscenze in uno scambio costante di conoscenze ed esperienze .

Il nome del blog vuole essere una provocazione per tutti e per me stesso, il lato oscuro...che da sempre ci affascina...vedremo insieme tutto ciò che si nasconde dietro .NET e come può rendere la nostra vita di programmatori semplice e divertente.

A presto.

Michele

Posted: 12 giu 2009 15:58 da Michele Aponte | con 2 comment(s)
Inserito sotto: