ComboBoxItem is a FrameworkElement which cannot belong to multiple parents.
When you use string collection, each ComboBox generate a new ComboBoxItem for the same string. When collection contains ComboBoxItems, comboBoxes don't create other ComboBoxItems and reuse existing, stealing them from each other.
Additionally when you follow MVVM approach, you should not have ComboBoxItem objects in a view model which provides binding source.
So string collection is a correct solution.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…