WPF: dal DataBinding ai Template - Seconda parte

di Marco Leoncini, in Windows Presentation Foundation,

L'articolo è la continuazione della prima parte pubblicata il 9 ottobre 2007.

Nella prima parte dell'articolo "Dal DataBinding ai Template" abbiamo visto come sia interessante e semplice creare un legame consistente tra la sorgente dati e la destinazione.

Tra le caratteristiche emerse durante l'analisi del sistema di Binding di Windows Presentation Foundation brilla sicuramente la possibilità di utilizzare un qualsiasi oggetto come fonte dati. Se così non fosse, l'uso di WPF ne sarebbe seriamente limitato e compromesso, infatti, anche se è utile collegare due elementi dell'interfaccia utente tra loro, molto di più lo è associare un elemento dell'interfaccia alla logica applicativa rappresentata, ad esempio, dal "Domain Model" illustrato nello schema seguente:

Domain Model di esempio

Lo schema precedente rappresenta un'ipotetica applicazione per la catalogazione dei videogiochi e la gestione delle relative recensioni, ma in particolare ci limiteremo a mostrare la lista delle recensioni disponibili e i relativi dettagli.
Visti gli evidenti vantaggi derivanti dall'utilizzo di XAML per creare l'espressione di Binding necessaria a creare l'associazione tra sorgente dati e proprietà destinazione, utilizzeremo solo codice dichiarativo.

Uso del Binding con collezioni

Premesso questo, al fine di utilizzare una delle nostre classi in XAML e far sì che il loader di XAML riesca a instanziala correttamente, dobbiamo associare il namespace del CLR a un namespace XML aggiungendo la seguente riga di codice nell'elemento Window della l'unica finestra definita nella nostra applicazione.

xmlns:FairPlay="clr-namespace:MyGamePlace" 

Successivamente aggiungiamo tra le risorse la classe Reviews che utilizzeremo per recuperare la lista delle recensioni.

<Window x:Class="MyGamePlace.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:FairPlay="clr-namespace:MyGamePlace"
    Title="MyGamePlace" Height="300" Width="300"
    >
  <Window.Resources>
    <FairPlay:Reviews x:Key="GameReviews"/>
  </Window.Resources>
</Window>
5 pagine in totale: 1 2 3 4 5

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

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.

Approfondimenti