Il Binding Nicolò Sordoni.

Slides:



Advertisements
Presentazioni simili
Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
Advertisements

Giuseppe Andronico CCR-WS10 Santa Tecla, 18 Maggio 2010 Introduzione MPI & GPU.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
Basi di OpenOffice Calc – 2009 A cura di: Di Cicco – Giannini - Periloso.
“Non c’è nessun buon motivo per il quale ogni persona nel mondo debba possedere un computer”- Kenneth Henry Olsen. (una delle frasi più sbagliate nella.
Effetti grafici con compiz-fusion Come ottenere un desktop accattivante su UBUNTU.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Scuola Innovazione Lavoro Organizzazione Sicurezza IN Protezione e Sicurezza Dati A cura di: IVX A. Volta Napoli- Salvatore Celardo Lorenzo Piscopo.
Presentazione della piattaforma e - learning MOODLE a cura di Davide Afretti Bologna, 24 aprile 2013.
+ Common actions Nicolò Sordoni. + Azioni comuni Esistono una serie di azioni di uso comune, che vengono messe a disposizione dalla piattaforma tramite.
Fondamenti di Informatica A - Massimo Bertozzi LE RAPPRESENTAZIONI CONCATENATE.
Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
LA CLASSIFICAZIONE DIMENSIONI DEL CONCETTO DI CLASSIFICAZIONE (Marradi, ) classificazione a: operazione intellettuale con cui l’estensione di.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Configurazione Router IR794- IG601
IL SOFTWARE (FPwin 6.0).
(Codice identificativo progetto: PON03PE_00159_1)
Vulnerability Assessment
© 2007 SEI-Società Editrice Internazionale, Apogeo
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Esportare le proprie mappe da QGis
FlowLine Flowline e' il sistema integrato per la gestione del recruitment aziendale tramite web. Fornito in modalita' ASP (application service provider)
VISUAL BASIC.
NegoziCS packing list fidelitycard ordini merceinsaldo www ® software
FlowLineXL Flowline XL e' il sistema integrato per la gestione del recruitment tramite web per enti e societa' di selezione Fornito in modalita' ASP (application.
Gestire la navigazione
Terza Lezione → Navigare nel file System → parte 2
how to use Windows SharePoint Services
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
Editing digitale della partitura Creazione di plugin
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
LA GESTIONE DEI PACCHETTI
FORMULE E FUNZIONI SU EXCEL
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Qt by Examples LINUX DAY
Informatica per l’Ingegneria
AsyncTasks.
Informatica A.A. 2016/17 Prof. Italo Epicoco
SAS® OnDemand for Academics SAS Studio
Ardis e il sistema qualità
MODULO 1 – Computer essentials
istalliamo l’ambiente di sviluppo - ide
Consultare un corpus con AntConc
Access.
Programmare.
Gestione Griglie nel Form Designer
HYPER TEXT MARK-UP LANGUAGE
PowerPoint.
Secondo Programma in C.
Partizionamento/accorpamento di concetti
Modulo 6 I decibel.
Presentazione Tennis3M Contabilità
Lettura di input MIDI da Web MIDI API
Vademecum per le Scuole
A cura di Cristiana ricci Ufficio formazione Cgil Genova
I fogli elettronici Microsoft Excel.
Fogli elettronici e videoscrittura
Gli archivi e le basi di dati
IT SECURITY Controllo di accesso
Parti interne del computer
Fogli di Calcolo Elettronici
Selezione e Proiezione
Unico 2009 – Esempi per la crisi
A-to-Z Consente di Localizzare e Accedere a tutte le risorse della biblioteca: riviste online riviste cartacee riviste nelle banche dati in full text riviste.
Vademecum per le Scuole
GUIDA ALL’UTILIZZO DELLE FUNZIONALITÀ DI PAGAMENTO
<inserire titolo problema>
Gli Indici di Produttività di Divisia
LA CLASSIFICAZIONE DIMENSIONI DEL CONCETTO DI CLASSIFICAZIONE (Marradi, ) classificazione a: operazione intellettuale con cui l’estensione di.
Transcript della presentazione:

Il Binding Nicolò Sordoni

Cos’è il binding? In XAML, il binding è uno degli aspetti più complessi da comprendere, ma anche uno dei più potenti. Il binding è un canale di comunicazione fra un controllo ed un oggetto definito nel codice ( o un altro controllo), che permette di riflettere, a livello d’interfaccia, ogni cambiamento che avviene nei dati. Il binding coinvolge due oggetti: Target: è il controllo della UI che mostra le informazioni all’utente e che interagisce con la sorgente. Source: è la sorgente dei dati (ad esempio una lista di stringhe)

Cos’è il binding? Esistono 3 modalità di binding, definite dall’attributo Mode: OneWay : Le modifiche alla sorgente vengono intercettate dal target. E’ la modalità di default TwoWay : Le modifiche apportate all’interfaccia vengono riflesse sulla sorgente. OneTime : La sorgente viene utilizzata per valorizzare il target, ma eventuali modifiche successive verranno ignorate.

Binding fra controlli Il binding permette di assegnare un valore ad una proprietà di un determinato controllo, in base ad un determinato valore, ottenuto dalla Sorgente. Per farlo, all’interno della proprietà che vogliamo poter modificare, è necessario utilizzare una markup extension di tipo Binding. Per capire meglio cosa significhi, analizziamo il seguente esempio: In questo esempio abbiamo utilizzato una TextBox ed un TextBlock. Tramite Binding abbiamo valorizzato la proprietà Text della TextBlock, associandola al testo della TextBox. In questo modo, ogni volta che l’utente inserirà dei valori nell’area di testo, anche il TextBlock cambierà valore.

Binding fra un controllo ed un oggetto Quando vogliamo associare la proprietà di un controllo ad un oggetto definito a livello di codice, la sintassi è la seguente: Per poter utilizzare un oggetto per definire tale binding, è necessario che esso possieda una property con lo stesso nome definito nell’attributo Path, quindi in questo caso deve possedere una proprietà definita “Nome”.

Binding fra un controllo ed un oggetto A questo punto, per completare l’associazione, è sufficiente associare, da codice, un’istanza della classe persona alla proprietà DataContext del controllo stesso o di uno dei container del controllo.

Binding fra un controllo ed un oggetto Vediamo un esempio che mostra la potenza di questo tipo di funzionalità:

Binding fra un controllo ed un oggetto L’esempio precedente ci mostra come sia sufficiente definire una classe con determinare proprietà ed associarla al DataContext di un container, per far sì che, tutti i controlli all’interno del contenitore, possano accedere alle proprietà dell’oggetto. Sebbene il binding sia molto più complesso di quanto visto in queste semplici slide, quanto visto finora è necessario e sufficiente per comprendere come utilizzare delle liste assegnando loro un layout personalizzato.

Le ListView Nicolò Sordoni

Le ListView Una delle situazioni più ricorrenti in ambito mobile, è la necessità di gestire un elenco di informazioni, di cardinalità potenzialmente elevata, senza amdare ad intaccare le prestazioni del dispositivo. In tutti gli ambienti ci vengono forniti degli strumenti per gestire tale situazione in maniera ottimizzata, tramite una logica di riuso delle celle. In Windows Phone esiste il componente ListView, che, analogamente agli altri ambienti, anzichè andara ad allocare un numero di celle pari a quello degli elementi, riutilizza le View man mano che non sono più visibili nello schermo.

Le ListView Esistono vari modi di utilizzare una ListView. Il più semplice è inserire gli elementi direttamente al suo interno da XAML. Questo metodo è poco flessibile e probabilmente non è neanche necessario l’utilizzo di una ListView per gestire questo tipo di situazioni. Un utilizzo più comune è l’inserimento di valori da codice:

ListView con Binding Il metodo più flessibile e potente è comunque l’utilizzo di un binding. Tramite tale funzionalità è possibile definire un layout customizzato per le varie celle, associando ad ogni controllo un valore recuperato dalla sorgente. Per poter ottenere tale risultato, è necessario associare la proprietà ItemSource della ListView ad un binding, dopodichè definire il layout all’interno della proprietà ItemTemplate.

ListView con Binding In questo esempio abbiamo inserito come Template uno StackPanel, che contiene due TextBox: una per mostrare il nome e l’altra per il cognome. Come si nota inoltre, la sorgente dei dati viene recuperata tramite binding (ItemSource ={Binding})

ListView con Binding A questo punto è necessario definire una lista di oggetti che possiedono le proprietà richieste (Nome e Cognome) e associarla al DataContext della ListView: