Technology Experience
.NET World

Se il Binding di WPF non funziona…

Le forze vitali mi stanno abbandonando. Detto più terra terra: ho sonno.

Ma ho trovato questo post che potrebbe darmi qualche spunto per debuggare le applicazioni WPF – semplici o meno semplici – che sto scrivendo. Prendiamo un semplice blocco XAML come questo:

<TextBlock FontSize=”12″ Margin=”4″ Text=”{Binding ElementName=tagsListBox, Path=SelectedItems.Count}” />

Lo XAML inserisce una TextBlock che visualizza il numero di elementi selezionati nella ListBox tagsListBox. La proprietà Path che ho specificato esprime la proprietà di cui voglio mostrare il valore; ricordo nel frattempo che WPF supporta le proprietà come dire…annidate…cioè posso separare con il punto fino a navigare le proprietà, esattemente come faremmo nel codice.

Se il binding non funziona – se per esempio specificate una proprietà che non esiste, oppure che non può essere bindata, non avete alcune eccezione. Semplicemente il binding non funziona, e quindi vedreste la TextBlock sopra completamente vuota.

Questo post spiega e mostra come debuggare il binding di WPF. In particolare, dice che se per qualsivoglia motivo avete da qualche parte un binding che non funziona, Visual Studio ve lo segnala nella Output Window, tra l’altro con un bel messaggio che vi spiega il perchè. Non me ne ero mai accorto, giuro. Non che sia una cosa che faccia tutti i giorni – purtroppo WPF non è certamente il mio lavoro quotidiano, però ci sono stati giorni in cui studiavo a tempo pieno WPF, per cui…

Un altro metodo passa attraverso l’uso dei Converter, ma qui la cosa è più intuitiva. Alla fin fine è una classe, per cui basta mettere un breakpoint per capire come un determinato valore in input viene convertito e mandato in output per far funzionare il binding.

Ci sono altri metodi per debuggare i binding in WPF, descritti molto bene nel post a cui darò sicuramente un’occhiata più approfondita.

Technorati Tags:    

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.