在WPF中实现多选使用CheckBox或ToggleButton按钮,该按钮IsChecked属性支持复选功能,ComboBox中集合ComboBoxItem控件可以支持多选。
为了让ComboBox支持CheckBox,ComboBoxItem继承于ListBoxItem,ListBoxItem在前面说过可以选择多项,IsSelected判断是否选中状态。在资源样式中用CheckBox作为项填充集合。
Demo下载地址:
WPF控件库:Newbeecoder.UIhttps://share.weiyun.com/py6W1dcK
只要你有好看的设计图,基本上都可以用Newbeecoder.UI按设计图开发出来,下面演示开源控件库开发的控件:
C# WPF新版开源控件库:Newbeecoder.UI
<TextBlock Text="可搜索" Margin="5"/><NbMultiComboBox Style="{DynamicResource DefaultMultiComboBoxStyle}" Margin="5" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="False"> <NbMultiComboBoxItem Content="橘子"/> <NbMultiComboBoxItem Content="苹果"/> <NbMultiComboBoxItem Content="香蕉"/> <NbMultiComboBoxItem Content="草莓"/> <NbMultiComboBoxItem Content="梨子"/></NbMultiComboBox><TextBlock Text="带清除按钮" Margin="5"/><NbMultiComboBox Style="{DynamicResource DefaultMultiComboBoxStyle}" Margin="5" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="True"> <NbMultiComboBoxItem Content="橘子"/> <NbMultiComboBoxItem Content="苹果"/> <NbMultiComboBoxItem Content="香蕉" IsSelected="True"/> <NbMultiComboBoxItem Content="草莓"/> <NbMultiComboBoxItem Content="梨子"/></NbMultiComboBox><TextBlock Text="禁用" Margin="5"/><NbMultiComboBox Style="{DynamicResource DefaultMultiComboBoxStyle}" Margin="5" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="True" IsEnabled="False"> <NbMultiComboBoxItem Content="橘子"/> <NbMultiComboBoxItem Content="苹果"/> <NbMultiComboBoxItem Content="香蕉" IsSelected="True"/> <NbMultiComboBoxItem Content="草莓"/> <NbMultiComboBoxItem Content="梨子"/></NbMultiComboBox>
下拉框多选支持搜索、清除功能,先演示下调用代码:EnabledSearchItems属性是否使用搜索,EnabledSearchIgnoreCase是否使用大写、ShowClearButton是否使用清除按钮。
在下拉框多选使用搜索功能:
下拉框多选右侧带清除功能:
需要使用Newbeecoder.UI开源控件库或者定制UI控件开发请私信给我。