带有CompositeCollection的WPF ComboBox – SelectedIndex不粘
我正在使用带有CompositeCollection的ComboBox,如下所示:
显示的数据完全符合预期,我现在只想将默认索引/值/项设置为包含内容All的ComboBoxItem,并且遇到一些问题。
如果我设置:
这完全被忽略了。
我也尝试过:
虽然这确实选择了All值,但是当我打开下拉列表时,突出显示的值是加载到ComboBox上的最后一个值,而不是All值。
如何解决这个问题,以便在数据绑定后我的ComboBoxItem内容保持选中状态?
编辑:
我刚刚尝试用另一个替换我的
,它工作正常,即使它们仍然在
。
EDIT2:
图像显示问题所在:
EDIT3:
AllBitsSource的代码:
XAML:
代码背后:
private readonly ObservableCollection _bits = new ObservableCollection(); private void GetCurrentSettings() { setttings = display.GetDisplaySettings(); foreach (var mode in setttings) { var displaySettingInfoArray = mode.GetInfoArray(); if (_bits.Contains(displaySettingInfoArray[4]) == false) { _bits.Add(displaySettingInfoArray[4]); } } } public ObservableCollection AllBits { get { return _bits; } }
在Main()
上调用GetCurrentSettings()
Main()
由于您在构建ComboBox后添加到Collection中,您可能需要进入Loaded事件并在那里设置SelectedIndex …
代码背后:
private void ComboBox_Loaded(object sender, RoutedEventArgs e) { (sender as ComboBox).SelectedIndex = 0; }