Logo UGIdotNET

Discussione 'datacontext e itemsource in conflitto?'

# Pubblicato il 13 lug 2009 13.04 - Rispondi
Antonio Santise
datacontext e itemsource in conflitto?
Ciao.
Ho una ListView (name="lv1") che visualizza un elenco di oggetti. Selezionandone uno, dovrei fare in modo di visualizzare i dettagli a fianco. In pratica ho un WrapPanel con la proprietà datacontext impostata coerentemente: DataContext ="{Binding ElementName=lv1, Path=SelectedItem}"

Tutto sembra funzionare. Peccato che ho inserito nel wrappanel di dettaglio una combobox che dovrebbe visualizare un elenco di possibili scelte (ad esempio province). Sembra che il binding non funzioni: la combobox resta vuota, non popolata.
Se elimino l'associazione del binding dal wrappanel contenitore, la combobox resta popolata, ma perdo il collegamento all'elemento selezionato.
Le ho provate tutte, ma forse la soluzione è molto banale? Grazie in anticipo.
# Pubblicato il 13 lug 2009 13.08 - Rispondi
Corrado Cavalli
Re: datacontext e itemsource in conflitto?
Se al datacontext associ un istanza dell'elemento selezionato e questo, ovvimamente, non espone quanto richiesto dalla combobox non ne vedrai mai i relativi items.
Prova a bindare direttamente ItemSource anzichè DataContext.
# Pubblicato il 13 lug 2009 14.25 - Rispondi
Antonio Santise
Re: datacontext e itemsource in conflitto?
Grazie per la risposta.

Perché dovrei esporre nella classe Customer, ad esempio, una lista di province che andrebbe a popolare la combobox?

Come faccio a bindare direttamente ItemSource anzichè DataContext? il DataContext lo assegno al WrapPanel e questo non supporta la property ItemSource. Sto prendendo un fiasco?

Grazie.
# Pubblicato il 13 lug 2009 15.08 - Rispondi
Antonio Santise
Re: datacontext e itemsource in conflitto?
Scusami. Ho preso un fiasco. In pratica devo assegnare un itemsource per ogni controllo all'interno del wrappanel.
Non era + semplice consentire una sorta override delle property assegnete al parent? E' lo stesso problema che ho con l'hyperlink abilitato o meno. :(
# Pubblicato il 13 lug 2009 23.39 - Rispondi
Corrado Cavalli
Re: datacontext e itemsource in conflitto?
Antonio,
Ci sono svariate soluzioni, tutto dipende da come hai organizzato la View...
Il caso più pulito è quello di creare un ViewModel che espone l'insieme delle province e l'elemento selezionato nella listbox.

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185