0
바인딩에 전파되지 못하는 경우 바인딩이로 설정되어ToolStripComboBox.SelectedItem 변화가 소스
_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;
속성 "AvailableUnits는"문자열의 수집 및 "SelectedUnit"인 문자열 속성입니다. 이제 드롭 다운 목록이 예상대로 채워지지만 목록에서 항목과 항목을 선택하면 변경 내용이 바인딩 소스로 전파되지 않습니다. 내가 뭘 잘못하고 있는거야?
는 업데이트 : 는 좀 테스트 프로젝트를 생성하고 내가 다른 ToolStripItem을의 하위 항목으로되는 ToolStripComboBox를 추가 할 때이 문제가 발생합니다. MenuStrip에 ToolStripItem을 직접 추가하면 모든 것이 잘 동작합니다. BindingContext는 하위 항목으로 추가 할 때 ToolStripComboBox에 할당되지 않으며 (내 코드 주석 참조) 내 수정 프로그램이이 작업을 수행하는 데 필요한 것을 수행하지 않는 것 같습니다.
아니, 실제 인스턴스가 나중에 할당 된
을 변경할 수 내가 먼저 스키마 바인딩을 설정합니다. – Marius