Как правильно привязать к дочернему объекту? - PullRequest
1 голос
/ 10 сентября 2010

У меня есть объект Proposal, у которого есть свойство CurrentAgency of Agency, которое, в свою очередь, имеет AgencyID, Name и т. Д ... что-то вроде этого:

Proposal
    CurrentAgency
        AgencyID
        Name
        Address
        etc...

В моем пользовательском интерфейсе есть поле со списком всех доступных агентств. Я связал это так:

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";

И это работает достаточно хорошо. Если пользователь меняет агентство, Proposal.CurrentAgency.AgencyID автоматически обновляется. Однако проблема в том, что остальные свойства объекта CurrentAgency не обновляются.

Каковы некоторые из шаблонов, которые используются для обработки подобного рода ситуаций, в то время как код не работает с мусором? Передать ли событие Format объекту Binding? Любые идеи для чистой реализации приветствуются.

1 Ответ

1 голос
/ 11 сентября 2010

Вы пробовали следующее?

private BindingSource bndProposal = new BindingSource();
bndProposal.DataSource = typeof(Model.Proposal);
lkpAgency.DataBindings.Add("EditValue", bndProposal, "CurrentAgency");
lkpAgency.Properties.DataSource = FusionLookups.LookupAgencies;
lkpAgency.Properties.DisplayMember = "Name";
lkpAgency.Properties.ValueMember = null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...