Небольшая сложная привязка данных в ComboBox windows form
У меня возникли проблемы во время работы над привязкой данных в windows form. У меня есть два класса, один-проект, а другой-обновление. Теперь весь объект проекта имеет список обновлений и привязан к выпадающему списку, но при изменении пользователем выбора необходимо отобразить/привязать свойства объекта обновления к другим элементам управления. Но не обновляется, как ожидалось, когда пользователь изменяет выбор. Пожалуйста, помогите мне в этом.
Что я уже пробовал:
public class Project { private int _id; private string _name; public Project(int id, string name) { _id = id; _name = name; ReadUpdates(); } public List<Update> AvailableUpdates { get; set; } public int Id { get { return _id; } } public string ProjName { get { return _name; } set { _name = value; } } private void ReadUpdates() { AvailableUpdates = new List<Update>(); for (int i = 0; i < 10; i++) { AvailableUpdates.Add(new Update(i, DateTime.Now.AddDays(i))); } } } public class Update { private string _title; private int _uid; private DateTime _updatedOn; public Update(int id, DateTime updatedOn) { _title = $"Update:{id}"; _uid = id; _updatedOn = updatedOn; } public string Title { get { return _title; } set { _title = value; } } public int UId { get { return _uid; } set { _uid = value; } } public DateTime UpdatedOn { get { return _updatedOn; } set { _updatedOn = value; } } } public partial class Form1 : Form { private Update _currentUpdate; private Project _project; public Form1() { InitializeComponent(); _project = new Project(1, "Sample Project"); DoBindings(); } private void DoBindings() { NameBox.DataBindings.Add("Text", _project, "ProjName"); IdBox.DataBindings.Add("Text", _project, "Id"); UpdatesCombo.DataSource = _project.AvailableUpdates; UpdatesCombo.DisplayMember = "UId"; _currentUpdate = (Update)UpdatesCombo.SelectedItem; UpdateTitle.DataBindings.Add("Text", _currentUpdate, "Title"); UpdateDate.DataBindings.Add("Value", _currentUpdate, "UpdatedOn"); } private void UpdatesCombo_SelectionChangeCommitted(object sender, System.EventArgs e) { _currentUpdate = (Update)UpdatesCombo.SelectedItem; } }