Ciao a tutti!
Sto cercando di fare un piccolo tutorial a MVVM per un collega, e gli ho detto di studiarsi il celeberrimo esempio "MVVMDemoApp" di Josh Smith:
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
Aveva la bella soluzione di mostrare delle view costruite con datatemplates: a seconda del dato da mostrare, wpf si sceglieva il template abbinato e sceglieva la view giusta (vedere allcustomers e newcustomer nell'esempio).
Tutto bello, tutto elegante. Ma non funziona cambiando al volo il tipo di dato sottostante: cioè, un nuovo dato (cioè il viewmodel sottostante) viene mostrato con la sua bella view selezionata dal datatemplate, ma se si cambia un viewmodel al volo (per esempio un viewmodel padre che abbia una property di tipo childviewmodel che cambi alla bisogna) il wpf non refresha, non ri-renderizza le view.
Qual è la strada migliore per risolvere la cosa senza aggiungere troppa "roba"? (leggo in giro di usare styles e triggers, template selectors, se fosse possibile vorrei fare qualcosa di più "didattico")
le idee che ho avuto io:
- distruggere la view e ricrearla (ma da command, nei viewmodel, accedere alle view... brrrrr....)
- scatenare un qualche refresh, non so in che modo...
Grazie per qualsiasi suggerimento
Marcosabba