J'ai essayé de travailler avec la bibliothèque d'applications composites (Prism) et j'ai mis en place un modèle assez standard que j'ai suivi le tutoriel de Microsoft. Fondamentalement, la vue est injectée dans la région. La vue est construite dynamiquement, en ajoutant des contrôles et ainsi de suite tous par programmation.Contrôles ReBind utilisant le modèle PRISM dans Silverlight
J'ai une commande qui est déclenchée et en postback Je voudrais redéfinir les contrôles de la vue en cours, au lieu de rendre complètement tous les contrôles à nouveau.
J'ai donc essayé de mettre à jour le modèle avec la version mise à jour en espérant que cela forcerait une reconsolidation des contrôles. Ça ne marche pas. Je ne sais pas quelle approche je devrais prendre, car je suis nouveau à Prism ...
Des idées?
Abonnez-vous un événement pour gérer postbacks
IEventAggregator aggregator = this.Container.Resolve<IEventAggregator>();
aggregator.GetEvent<DataInstanceLoadedEvent>().Subscribe(this.OnDataInstanceUpdated);
mise en œuvre de l'événement
public void OnDataInstanceUpdated(DataInstance updatedInstance)
{
if(this.View.Model != null){
// We need to rebind here
IRegion region = this.LocateRegion(this.View); // gets the region....
this.View.Model.CurrentDataInstance = updatedInstance; // update the model instance
}
else{
// Render all controls over again since view.model is null ...
}
}