di: Riccardo Di Nuzzo 28 Gennaio 2009
L'associazione tra controlli dell'interfaccia utente e i dati (contenuti in una Collection, in un documento Xml o in una Datatable) avviene utilizzando l'oggetto Binding.
Grazie a questo oggetto possiamo specificare il "target", ovvero il destinatario dell'associazione (es. la proprietà Text di una TextBox), e la sorgente dei dati (es. la RagioneSociale di un oggetto di tipo Cliente).
Possiamo dichiarare l'oggetto Binding direttamente nel markup XAML, assegnando i dati alla proprietà desiderata.
Ecco l'esempio di una TextBox associata ad un campo RagioneSociale:
<TextBox x:Name="txtRagioneSociale"
Text="{Binding Path=RagioneSociale}" />
Le proprietà più interessanti dell'oggetto Binding sono:
| Proprietà | Descrizione |
|---|---|
| Path | è un parametro di default e non è obbligatorio specificarlo. Indica il nome della proprietà che contiene il dato nella sorgente dati. L'esempio precedente può essere anche scritto: {Binding RagioneSociale} |
| Mode | può assumere due possibili valori OneWay e TwoWay (di default OneWay).Se vogliamo che le modifiche apportate nel controllo vengano propagate all'oggetto che contiene i dati è necessario specificare TwoWay: {Binding RagioneSociale, Mode=TwoWay} |
| Source | è opzionale e consente di specificare la sorgente dati, direttamente nell'oggetto Binding |
Possiamo anche scegliere di gestire l'associazione dati nel code-behind:
Binding b = new Binding(); b.Source = ((Cliente)lbClienti.SelectedItem).RagioneSociale; txtRagioneSociale.SetBinding(TextBox.TextProperty, b);
Tipicamente, quando parliamo di Data Layer, intendiamo per "entità" un oggetto che contiene i dati, ad esempio un oggetto di tipo Cliente contenente una serie di proprietà.
Per associare uno o più controlli a questa entità, possiamo utilizzare la classe DataContext. Essa è esposta dai controlli Silverlight e serve per impostare la sorgente dati. Vediamo come impostarla via codice.
Supponiamo di avere una ListBox chiamata "lbClienti" che contiene un elenco di oggetti di tipo Cliente e una TextBox chiamata "txtRagioneSociale". Ecco come collegare al DataContext della TextBox l'oggetto selezionato nella ListBox:
txtRagioneSociale.DataContext = lbClienti.SelectedItem as Cliente;
L'associazione che abbiamo appena visto è tra un singolo controllo di tipo TextBox e un singolo oggetto di tipo Cliente.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |