WPF中自定义多选下拉框可用ToggleButton按钮,该按钮IsChecked属性支持复选功能,CheckBox控件是继承ToggleButton。ComboBox中集合ComboBoxItem控件可以支持多选。
为了让ComboBox支持CheckBox,ListBoxItem在前面说过可以选择多项,IsSelected判断是否选中状态。在资源样式中用CheckBox作为项填充集合。 Demo下载:
Newbeecoder.UI.zip
根据产品图设计一款好看的软件用Newbeecoder.UI能完美实现
代码语言:html复制<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是否使用清除按钮。
在下拉框多选使用搜索功能:
下拉框多选右侧带清除功能: