У меня есть список Doctors
, Teachers
и Drivers
, все они получены из Individual
.
В зависимости от того, на каком человеке находится курсор, я бы хотел отобразить профессию.специфические свойства.
Моя идея состояла в том, чтобы собрать всех этих парней в BindingList<Individual>
, который был источником данных для IndividualsBindingSource
.
. На событии IndividualsBindingSource.CurrentChanged
я бы отобразил панель для профессии и создал бы Bindings
для контроля профессии на лету, поэтому, когда он находится на водителе, отображается его водительское удостоверение и т. д.
Но в теле события CurrentChanged
эта строка выдает ошибку времени выполнения:
tbLicense.DataBindings.Add(new System.Windows.Forms.Binding("Text", IndividualsBindingSource, "DriverLicense", true));
что, вероятно, означает, что он не может связать управление со свойством DriverLicense
базового источника данных, потому что источник данных имеет базовый тип Individual
.
Q1: Есть ли способ привязать элементы управления пользовательского интерфейса к свойствам унаследованных объектов при наличии всех объектов в BindingList<base type>
?
Q2: Если нет, то какова наилучшая практика для отображения элементов управления, зависящих от объекта, позволяющихДвухстороннее связывание?