Prism Region e View

di Marco Leoncini, in work in progress,

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.

1

Creata la Region possiamo passare alla View che non è null'altro che un semplice UserControl Silverlight.

Ne creiamo una semplicissima con un TextBlock.

3

è 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.

2

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.

4

Alla prossima dove vedremo come far comunicare due moduli senza che questi siano a conoscenza della rispettiva esistenza.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese