Ci siamo lasciati dopo aver creato il primo modulo e successivamente averne ottimizzato le dimensioni.
Ma diciamocela tutta, a cosa serve avere un modulo senza interfaccia? bhe a quasi nulla.
Oggi vedremo come dotare il nostro modulo di un'interfaccia.
Chiamiamo View la nostra porzione di UI e Region la parte della Shell, l'interfaccia princiapale dell'applicazione, dove dovrà essere visualizzata.
Il compito di gestire le View e registare le Region è del RegionManager, che mette a disposizione delle attached property per lo scopo.
Quindi registrato il namespace che ospita il regionManager è sufficente utilizzare l'attached property RegionManager.RegionName per indicare il nome e la posizione della Region.
Creata la Region possiamo passare alla View che non è null'altro che un semplice UserControl Silverlight.
Ne creiamo una semplicissima con un TextBlock.
è giunto il momento di modificare il nostro modulo affinchè registri la View nel RegionManager.
Ma come fa il nostro modulo ad ottenere un'istanza del RegionManager che si trova nella Shell?
Senza dilungarmi troppo utilizzando la "tecnica" della dependency injection container.
Come sfruttare questa "tecnica"? Semplicemento dotando il nostro modulo di un costruttore che accetti un oggetto del tipo IRegionManager, probabilmente affronteremo questo argomento in un altro post, ma per adesso accontentiamoci di sapere che, PRISM o meglio Unity, riesce a passare automaticamente l'oggetto IRegionManager al modulo nel momento in cui viene costruito.
Con l'istanza del RegionManager, nel metodo Initialize, che il modulo deve implementare in quanto defintio nell'interfaccia IModule, registriamo la nostra View.
Il metodo RegisterViewWithRegion accetta due parametri, il primo il nome della regione dove verrà picchiata la View, il secondo il tipo della View.
Non ci rimane che lanciare l'applicazione e ammirarne il risultato.
Alla prossima dove vedremo come far comunicare due moduli senza che questi siano a conoscenza della rispettiva esistenza.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Vi aspetto al WPC 2011, il 17 novembre 2011 alle 08:00
- PRISM comunicazione tra moduli, il 31 marzo 2009 alle 07:54
- Composite Application Guidance (PRISM) primi passi, il 6 marzo 2009 alle 23:35
- Ottimizziamo le dimesioni del modulo (PRISM), l'8 marzo 2009 alle 17:13
- Blend ostaggio di WPF, il 30 luglio 2008 alle 15:26