J'ai une proposition d'objet qui a une propriété appelée CurrentAgency de l'Agence qui à son tour a agencyId, nom, etc ... quelque chose comme ceci:Comment lier correctement un objet enfant?
Proposal
CurrentAgency
AgencyID
Name
Address
etc...
Dans mon interface utilisateur, j'ai un combobox qui répertorie tous disponibles Agences. Je suis lié comme ceci:
private BindingSource bndProposal = new BindingSource();
bndProposal.DataSource = typeof(Model.Proposal);
lkpAgency.DataBindings.Add("EditValue", bndProposal, "CurrentAgency.AgencyID");
lkpAgency.Properties.DataSource = FusionLookups.LookupAgencies;
lkpAgency.Properties.DisplayMember = "Name";
lkpAgency.Properties.ValueMember = "ID";
Et cela fonctionne assez bien. Si l'utilisateur modifie l'agence, Proposal.CurrentAgency.AgencyID est automatiquement mis à jour. Toutefois, le problème est que le reste des propriétés de l'objet CurrentAgency n'est pas mis à jour.
Quels sont les modèles utilisés pour gérer ce type de situation sans utiliser le code indésirable? Dois-je transmettre l'événement Format à l'objet Binding? Toutes les idées pour une mise en œuvre propre sont les bienvenues.