settembre 2009 Blog Posts
Questo manuale proprio non mi va giù :-) Pochissimi giorni fa ho introdotto nel mio toolkit un behavior per generalizzare la gestione del Drag & Drop, a breve il tutto probabilmente finirà su CodePlex, ma non è questo l’argomento odierno. Houston abbiamo un problema <cit.> Nel post di cui sopra, per agganciare il behavior ad una ListView facevamo: <ListView Margin="5" HorizontalAlignment="Stretch"
behaviors:DragDropManager.DataObject="{Binding Path=ItemsToDrag}"
behaviors:DragDropManager.DataObjectType="myType"
ItemsSource="{Binding...
Non si può. Il motivo è abbastanza semplice, esiste uno ed un solo “Region Service”, per ciclo di vita dell’applicazione, che è il main entry point per accedere al mondo delle region, dato un Region Service e una View è possibile ottenere un Region Manager che è colui che gestisce le region per una data View; come minimo quindi esiste un Region Manager per ogni View che ospita delle region. La procedura di registrazione delle region è abbastanza semplice e viene fatta dalla MarkupExtension che lo sviluppatore utilizza nello xaml: <StackPanel rg:RegionService.Region="{rg:PanelRegion Names=”MyRegion”}}" />
...
Se soffrite da dipendenza acuta da M-V-VM questa è una discreta rottura perchè il drag & drop è “roba” totalmente da Presentation (aka View) ma la logica è totalmente da Business (aka ViewModel). La gestione del drag & drop è quindi un ottimo candidato per divertirci con gli attached behavior, nome figoso per le ormai legacy attached properties. Quello che vogliamo ottenere è questo: <ListView HorizontalAlignment="Stretch"
SelectedItem="{Binding Path=Selection}"
behaviors:DragDropManager.DataObject="{Binding Path=Selection}"
...
Discreta rottura di mar*ni: var wrapper = new Wrapper<Person>();
var a = TypeDescriptor.GetProperties( wrapper );
var b = TypeDescriptor.GetProperties( typeof( Wrapper<Person>) );
producono 2 risultati decisamente diversi… Gestibile, sia chiaro, ma decisamente una rottura che per ora rende inutilizzabile in molti scenari questa fantastica idea, autocelebration-mode-off :-)
peccatissimo, peccato…
.m
Questa cosa è rimasta in sospeso da tempo immemore ed è ora di dare un senso, perchè altrimenti un senso non ce l’ha… <semi-cit> :-) La nostra applicazione funziona! ma effettivamente è poco più di un “Hello World”, però funziona. Prometto che diventerà qualcosa di più di un semplicissimo “proof of concept”. Adesso però abbiamo un problema non da poco, ne abbiamo già parlato, e adesso cerchiamo di approfondire e nel limite del possibile dare una soluzione. A volte si dice che un’immagine vale più di mille parole ma in questo caso non è...
Volevo semplicemente ringraziare tutti quelli che hanno preso parte al meeting, organizzato da Xe.Net, che si è tenuto ieri sera a Mestre. Resto sempre basito di fronte a quello che lo spirito di community è in grado di fare, ieri c’erano 4 persone che hanno fatto una quantità industriale di km per venire a sentire 2 pazzi che sparlavano di Wpf, ben più di quelli che ho fatto io (circa 300 a tratta i miei…). Grazie. Come al solito è stata un’esperienza illuminante. Grazie. Ne approfitto anche per fare i complimenti al mio compagno di avventura. .m
Stasera Pattern Track Conference di XeDotNet, credo per la felicità di tutti la mia sessione sarà “slideless” solo codice. Ci si vede li? Non vi tedio oltre perchè il mio compagno di avventura ha già dato tutti i dettagli del caso. .m
L’allergia continua ed evidentemente peggiora… :-) Qualche tempo fa ho parlato di NHibernate e degli IUserType, fortunatamente non ho fatto vedere l’implementazione :-) perchè c’è un leggero bug, moltgo subdolo, ma sempre bug! Un doveroso grazie a Marco De Sanctis che mi ha supportato nella ricerca/soluzione del problema. Un minimo di storia, concedetemelo, immaginiamo un modello del tipo: dove avete una classe e delle associazioni, nell’esempio volutamente monodirezionali, non delle collection-association, che hanno la caratteristica di poter essere null. Avete quindi un Prodotto che può avere una Serie...
Separation Of Concern e Single Point of Responsibility (non ho trovato in link che mi piacesse) visti dalla parte sbagliata: Quel coso fa troppe cose :-) .m
io sono decisamente deluso, il mio concetto di qualità della vita è distante anni luce dalla vita che sto vivendo ed è evidente che così non si può andare avanti.
5.15 – Sveglia;
10’ per gustare il caffè e cercare di capire in che mondo sono;
5.25 – 5.45 – veloce lettura di posta, newsgroup e feed arretrati a cui faccio sempre più fatica a star dietro;
5.45 – 8.00 – Una...
Sono appena tornato da un posto semplicemente fantastico: Filicudi, Isole Eolie. Lo spettacolo che ci si presentava tutte le mattine dalla terrazza della fantastica camera n° 9 parla da solo: La famiglia che cura la gestione dell’Hotel La Canna fa un lavoro ottimo per coccolare, soprattutto dal punto di vista culinario, i propri ospiti e ci riesce decisamente bene. Per il resto posso solo aggiungere che la vacanza in un posto del genere è all’insegna del completo e solo relax, per capirci il cellulare sull’isola (molto piccola, circa 200 abitanti) non prende...
Anche quest’anno avrò l’onore di prendere parte ad uno dei meeting di Xe.Net, questa volta (tanto per cambiare) il tema sarà Wpf in salsa Model View ViewModel, la sessione sarà in code-sharing (come le compagnie aeree) con Davide Senatore, Davide si occuperà di una coprposa ed esaustiva introduzione al mondo Wpf in salsa M-V-VM con alcune digressioni su Wfp in quanto tecnologia di presentazione mentre io mi stavo chiedendo come impostare la mia parte della sessione… Sessione tradizionale o Q&A/ simil OpenSpace? In generale l’obiettivo che vorrei raggiungere è quello di approfondire molto, veramente molto, alcuni argomenti. Tutto...