WPF: dal DataBinding ai Template - Seconda parte

5 pagine in totale: [1] 2 3 4 5 Avanti >>

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 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.



TUTORIALS


IN EVIDENZA
MISC