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:
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>
Attenzione: Questo articolo contiene un allegato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Short-circuiting della Pipeline in ASP.NET Core
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Implementare il throttling in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Utilizzare la libreria Benchmark.NET per misurare le performance
Load test di ASP.NET Core con k6
Effettuare il binding di date in Blazor
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Personalizzare l'errore del rate limiting middleware in ASP.NET Core