Confessions of a Dangerous Mind

Brain.FlushBuffer()
posts - 176, comments - 234, trackbacks - 93

August 2009 Blog Posts

WPF Prism Technical Concepts: Modules

Il concetto di Modulo è uno dei pilastri portanti della logica di Prism. Il Modulo rappresenta l’unità logica fondamentale della nostra Composite Application, e pertanto deve obbligatoriamente essere compreso a fondo. Effettivamente, per implementare un modulo “compatibile” con Prism, le azioni da intraprendere non sono poi molte, ovvero si tratta semplicemente di crare una classe ed implementare un’interfaccia; per la precisione è l’interfaccia IModule, che si può vedere nel seguente snippet: 1: public interface IModule 2: { ...

posted @ Friday, August 21, 2009 4:54 PM | Feedback (0) |

WPF Prism Technical Concepts: Containers and Services

Come già affermato in qualche mio precedente post, Prism è un’insieme di librerie per la creazione di applicazioni modulari fortemente disaccoppiate. Nella libreria di Prism viene messa a disposizione l’interfaccia IServiceLocator che può essere implementata per crearsi il proprio Container, oppure per adattare containers già esistenti all’utilizzo con CAL. Ovviamente CAL espone già un container “ready for use”: si tratta dell’interfaccia IUnityContainer presente nel namespace Microsoft.Practices.Unity della libreria Unity Application Block. L’interfaccia IServiceLocator, da implementare SOLO se il container “di default” non fa al caso nostro, è piuttosto semplice, come si può vedere nel seguente snippet: ...

posted @ Thursday, August 20, 2009 11:11 AM | Feedback (0) |

WPF Prism Technical Concepts: Shell e Bootstrapper

I primi due concetti di Prism che andiamo ad approfondire sono la Shell ed il Bootstrapper. Shell La Shell rappresenta il “contenitore” che andrà ad ospitare l’applicazione Prism. Essa deve essere creata seguendo alcune direttive di CAL, ma essenzialmente può essere una Window o una Page. Al suo interno possono essere collocati dei controlli generici e dei controlli “particolari” che rappresentano le “regions” all’interno delle quali vengono iniettate le Views dei vari moduli (ricordiamoci che Prism è nato per supportare la modularità…). Un esempio di Shell può essere il seguente: ...

posted @ Wednesday, August 19, 2009 12:05 PM | Feedback (0) |

WPF Development: Bridge the gap and become an Application Designer

Pratico il KiteSurf, uno degli sport più belli del mondo. Non è uno sport faticosissimo, a meno che non ci si metta in testa di provare una nuova manovra; in questo caso la giornata può diventare MOLTO pesante per le volte in cui si cade in acqua, si prova, si perde la tavola, si ritenta, cade la vela; si chiama imparare… il mio corpo si sta adattando a dei nuovi movimenti che non conosce e ci vuole del tempo. Quanto non si può dire, dipende da moltissimi fattori: talento, atleticità, stato di salute, umore, voglia di rischiare… Mi è...

posted @ Monday, August 17, 2009 3:40 PM | Feedback (4) |

WPF Development: disabilitare l’editor grafico da Visual Studio 2008

Non so voi, ma io mi trovo sempre più spesso a lavorare con lo XAML direttamente, senza usare l’editor grafico di Visual Studio 2008. Per la grafica, in effetti, c’è Blend! Il problema è che in caricamento, i file XAML sono piuttosto pesantini, soprattutto se le pagine sono elaborate… quindi, come fare a disabilitare l’editor grafico (a.k.a. Cider) in Visual Studio 2008? Molto semplice, andate su: Tools>>Options>>Text Editor>>XAML>>Miscellaneous ed impostate Always open documents in full XAML View Ho notato dei miglioramenti soprattutto quando si passa da un file xaml all’altro.

posted @ Monday, August 17, 2009 11:17 AM | Feedback (0) |

WPF Prism Technical Concepts

Dopo aver trattato i concetti di design, cerchiamo di capire quali sono gli aspetti prettamente tecnici che contraddistinguono una Prism Application. Quando si realizza una Prism Application è infatti necessario seguire un “iter” piuttosto ben formalizzato, che consiste nei seguenti passi: Creazione del progetto di Shell Definizione della “Shell Window” Definizione delle regioni contenitore Creazione del BootStrapper ...

posted @ Monday, August 17, 2009 9:53 AM | Feedback (1) |

Pragmatic MVVM: ovvero come semplificarsi la vita senza “pattern misunderstanding”

Ultimamente ho avuto modo di leggere un bellissimo scambio di domande/risposte su StackOverflow (lo potete trovare qui). In pratica la domanda era: “… devo dare il focus ad una textbox al load della view. Sto impiegando MVVM, qual’è il metodo migliore per farlo?”. Una delle possibili risposte, per chi desidera applicare il pattern MVVM “strict”, ovvero senza assolutamente nessun code-behind nella view, potrebbe essere di utilizzare il FocusManager collegato ad una proprietà esposta dal ViewModel che indichi a quale controllo dare il focus. A parte il fatto che non mi piace l’idea che il ViewModel debba conoscere chi siano...

posted @ Monday, August 10, 2009 8:14 PM | Feedback (2) |

Powered by:
Powered By Subtext Powered By ASP.NET