WPF-创建带有多个分隔符的ComBox



我想用0-NSeparators制作一个ComboBox

我能够像一样用CompositeCollection做到这一点

<ComboBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection ={Binding mysrc1}/>
<ComboBoxItem IsEnabled = "False">
<Separator Background = "White" Height=10/>
</ComboBoxItem>
<CollectionContainer Collection ={Binding mysrc2}/>
<ComboBoxItem IsEnabled = "False">
<Separator Background = "White" Height=10/>
</ComboBoxItem>
</CompositeCollection>
</ComboBox.ItemsSource>

但这有点笨拙,有很多代码重复,但在.View.ViewModel

我正在考虑使用自定义控件,该控件将从ComboBox继承并使用DependencyProperty.RegisterAttached作为Separator(s)的位置

但找不到这样做的方法

p.S

我不喜欢使用任何代码,也不使用<Setter Property="Template">,因为我的程序用户中有很多ComboBox的基本样式和模板

当您使用数据绑定时,项目是分组的,所以我会使用分组。

查看此答案:在组合框中分组项目(已解决)

如果你不想使用分组,那么你可以使用这种方法:插入通过数据绑定填充的组合框项目分隔符

最新更新