| 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. |
| 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. |
| 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. |
| 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. :( |
| 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. |