Provides a lightweight combobox with filtering (auto-complete).
$ dotnet add package DotNetKit.Wpf.AutoCompleteComboBoxAnnouncement: This repository will soon be renamed to a shorter name.
A lightweight ComboBox control that supports filtering (auto completion).

Declare XML namespace.
<Window
...
xmlns:dotNetKitControls="clr-namespace:DotNetKit.Windows.Controls;assembly=DotNetKit.Wpf.AutoCompleteComboBox"
... >
You can then use AutoCompleteComboBox just like a normal ComboBox, since it inherits from it.
<dotNetKitControls:AutoCompleteComboBox
SelectedValuePath="Id"
TextSearch.TextPath="Name"
ItemsSource="{Binding Items}"
SelectedItem="{Binding SelectedItem}"
SelectedValue="{Binding SelectedValue}"
/>
Note that:
TextSearch.TextPath property.
Person object with a Name property, and TextSearch.TextPath is set to "Name", typing "va" will filter out all items whose Name doesn't contain "va".TextSearch.Text.ComboBox.Items property directly. Use ItemsSource instead.DisplayMemberPath.The default settings should work well for most cases, but you can customize the behavior if needed.
AutoCompleteComboBox.Setting property.<dotNetKitControls:AutoCompleteComboBox
Setting="..."
...
/>AutoCompleteComboBoxSetting.Default to apply to all comboboxes.Filtering allows you to add many items without losing usability, but it can affect performance. To improve this, we recommend using VirtualizingStackPanel as the items panel.
Use the ItemsPanel property:
<dotNetKitControls:AutoCompleteComboBox ...>
<dotNetKitControls:AutoCompleteComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</dotNetKitControls:AutoCompleteComboBox.ItemsPanel>
</dotNetKitControls:AutoCompleteComboBox>or declare a style in resources as the Demo app does.
See also WPF: Using a VirtualizingStackPanel to Improve ComboBox Performance for more detailed explanation.
AutoCompleteComboBox.Filter in user code conflicts with the control's internal behavior.ComboBox doesn't appear to support the Background property. No easy fix is known.
This library is essentially a thin wrapper around the standard ComboBox with additional behaviors.
IsEditable to true to allow text inputCtrl+Space) to open the dropdown