Ma liaison est configuré comme ceci:ToolStripComboBox.SelectedItem changement ne se propage pas à la source de liaison
_selectXAxisUnitViewModelBindingSource = new BindingSource();
_selectXAxisUnitViewModelBindingSource.DataSource = typeof(SelectXAxisUnitViewModel);
_selectedUnitComboBoxBindingSource = new BindingSource();
_selectedUnitComboBoxBindingSource.DataSource = _selectXAxisUnitViewModelBindingSource;
_selectedUnitComboBoxBindingSource.DataMember = "AvailableUnits";
_selectedUnitComboBox.ComboBox.DataSource = _selectedUnitComboBoxBindingSource;
_selectedUnitComboBox.ComboBox.DisplayMember = String.Empty;
_selectedUnitComboBox.ComboBox.ValueMember = String.Empty;
_selectedUnitComboBox.ComboBox.DataBindings.Add("SelectedItem",
_selectXAxisUnitViewModelBindingSource,
"SelectedUnit", true, DataSourceUpdateMode.OnPropertyChanged);
// this is a bug in the .Net framework: http://connect.microsoft.com/VisualStudio/feedback/details/473777/toolstripcombobox-nested-on-toolstripdropdownbutton-not-getting-bindingcontext
_selectedUnitComboBox.ComboBox.BindingContext = this.BindingContext;
La propriété « AvailableUnits » est une collection de chaînes et la « SelectedUnit » est une chaîne de propriété. Maintenant, la liste déroulante est remplie comme prévu, mais lorsque je sélectionne et élément dans la liste, la modification n'est pas propagée à la source de liaison. Une idée de ce que je fais mal?
Mise à jour:
J'ai créé un petit projet de test et ce problème se produit lorsque j'ajoute un ToolStripComboBox comme un sous-élément d'un autre ToolStripItem. Si j'ajoute le ToolStripItem directement au MenuStrip, tout fonctionne correctement. Le BindingContext n'est pas affecté à ToolStripComboBox lorsqu'il est ajouté en tant que sous-élément (voir mon commentaire de code) et mon correctif ne semble pas faire quoi que ce soit pour que cela fonctionne.
Non, l'instance réelle est attribué plus tard et je veux mettre en place le schéma de liaison en premier. – Marius